iziStack

Time limit: 0.35s Memory limit: 64MB Input: izi.in Output: izi.out

Se dă o stivă goaă. Elementele stivei sunt numerotate începând cu 11 de la bază înspre vârf. Avem de procesat TT comenzi de tipurile:

\rightarrow 0 x - elementul xx se va adăuga în vârful stivei
\rightarrow 1 x y add - tuturor elementelor din intervalul x yx\ y le va fi adăugată valoarea addadd
\rightarrow 2 - eliminarea elementului din vârf

Afișați după fiecare operație elementul din vârful stivei.

Se garantează:

  1. că nu se va efectua operația de tip 22, dacă nu exista cel puțin 22 elemente în stivă
  2. că prima operație va fi de tip 00

Date de intrare

Fișierul de intrare izi.in conține pe prima linie un număr natural TT, iar pe următoarele TT linii, operațiile efetuate asupra stivei.

Date de ieșire

Fișierul de iesire izi.out conține TT linii, reprezentând elementele din vârful stivei după fiecare operație.

Restricții și precizări

  • 1T1 000 0001 \leq T \leq 1 \ 000 \ 000
  • 1 000add1 0001 \ 000 \leq add \leq 1 \ 000
  • Pentru operațiile de tip 11, 1 000x1 000−1 \ 000 \leq x \leq 1 \ 000, iar pentru operațiile de tip 22, numărul elementelor aflate în stivă este mai mare ca yy.
  • Pentru 3636 puncte: 1T1 0001 ≤ T ≤ 1 \ 000.
  • Pentru alte 3333 puncte: Toate operațiile de tip 22 se vor afla la finalul fișierului de intrare

Exemplu

izi.in

7
0 1
1 1 1 2
0 2
1 1 2 3
2
0 4
2

izi.out

1
3
2
5
6
4
6

Log in or sign up to be able to send submissions!