Pagini recente »
Diferențe pentru problema/izistack între reviziile 8 și 5
|
Istoria paginii utilizator/m723s
|
Diferențe pentru problema/izistack între reviziile 4 și 5
|
Diferențe pentru problema/izistack între reviziile 8 și 3
|
Diferențe pentru problema/izistack între reviziile 1 și 2
Diferențe între titluri:
Diferențe între conținut:
== include(page="template/taskheader" task_id="izistack") ==
Poveste și cerință...
Se dă o stivă goaă. Elementele stivei sunt numerotate începând cu $1$ de la bază înspre vârf. Avem de procesat $T$ comenzi de tipurile:
* 0 x - elementul $x$ se va adăuga în vârful stivei
* 1 x y add - tuturor elementelor din intervalul $x\ y$ le va fi adăugată valoarea $add$
* 2 - eliminarea elementului din vârf
Afișați după fiecare operație elementul din vârful stivei.
Se garantează:
* că nu se va efectua operația de tip $2$, dacă nu exista cel puțin $2$ elemente în stivă
* că prima operație va fi de tip $0$
h2. Date de intrare
Fișierul de intrare $izistack.in$ ...
Fișierul de intrare $izi.in$ conține pe prima linie un număr natural $T$, iar pe următoarele $T$ linii, operațiile efetuate asupra stivei.
h2. Date de ieșire
În fișierul de ieșire $izistack.out$ ...
Fișierul de iesire $izi.out$ conține $T$ linii, reprezentând elementele din vârful stivei după fiecare operație.
h2. Restricții
* $... ≤ ... ≤ ...$
* $1 ≤ T ≤ 1 000 000$
* $1 000 ≤ add ≤ 1 000$
* Pentru operațiile de tip $1$, $−1 \ 000 \leq x \leq 1 \ 000$, iar pentru operațiile de tip $2$, numărul elementelor aflate în stivă este mai mare ca $y$.
h2. Exemplu
table(example).
table(example).
|_. izistack.in |_. izistack.out |
| This is some
text written on
Nu există diferențe între securitate.