Atenție! Aceasta este o versiune veche a paginii., scrisă la 2026-05-19 19:02:46.939.
Revizia anterioară   Revizia următoare  

Fișierul intrare/ieșire izistack.in, izistack.out Sursă ad-hoc
Autor Florian Ușurelu Adăugată de avatar vmanz Victor Manz vmanz
Timp de execuție pe test 0.5 sec Limită de memorie 5120 KB
Scorul tău N/A Dificultate N/A
open book Poți vedea testele pentru această problemă accesând atașamentele .

IziStack

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

Date de intrare

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

Date de ieșire

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

Restricții

  • 1 ≤ T ≤ 1 000 000
  • 1 000 ≤ add ≤ 1 000
  • Pentru operațiile de tip 1, −1 000 ≤ x ≤ 1 000, iar pentru operațiile de tip 2, numărul elementelor aflate în stivă este mai mare ca y.

Exemplu

izistack.in izistack.out
7
0 1
1 1 1 2
0 2
1 1 2 3
2
0 4
2
1
3
2
5
6
4
6

Trebuie să te autentifici pentru a trimite soluții. Click aici