Mugur

Time limit: 0.45s
Memory limit: 256MB
Input: mugur.in
Output: mugur.out

La mulți ani, Mugur! Să trăiești 1 000 000 de ani!

Mugur a primit un cadou de ziua sa de la fiul său Mugurel o stivă. După ce chefuiește cu prietenii la Căminul Cultural din Imperiul Rațelor de Cauciuc, el merge acasă entuziasmat și începe să facă operații pe ea.

Operațiile sunt de două tipuri:

  • push x\text{push } x — Numărul xx se adaugă în stivă (xx devine elementul din vârful stivei).
  • pop\text{pop} — Se elimină elementul din vârful stivei. Dacă stiva este goală, operația nu are niciun efect.

Din păcate, stiva nu era cea mai calitativă, așa că după ce face NN operații pe ea, aceasta dă eroarea maCmAcMac și nu mai poate să execute alte operații.

Cerință

Fiind o rață bătrână, Mugur nu reușește să-și amintească instant toate operațiile pe care le-a făcut, însă în fiecare zi își aduce aminte de câte o operație și a câta era aceasta în șirul inițial de operații. Ca să nu se plictisească, el își pune zilnic câte o întrebare: având doar operațiile până în ziua curentă, dacă le executăm în ordinea indicilor, care ar fi elementul de pe vârful stivei?

Date de intrare

Fișierul de intrare va conține pe prima linie un număr întreg NN, reprezentând numărul de operații.

Fiecare linie ii din următoarele NN linii conține câte o operație: un număr natural pip_i reprezentând indicele operației, un șir de caractere sis_i reprezentând tipul operației și un număr natural xix_i dacă operația este de tip push\text{push}, reprezentând numărul care se introduce în stivă.

Date de ieșire

Fișierul de ieșire va conține NN linii, pe fiecare linie fiind un singur număr natural: elementul de pe vârful stivei luând în considerare operațiile curente sau -1 dacă stiva este goală.

Restricții și precizări

  • 1N100 0001 \leq N \leq 100 \ 000
  • 1xi1091 \leq x_i \leq 10^9
  • si{push,pop}s_i \in \{ \text{push}, \text{pop} \}
  • 1piN1 \leq p_i \leq N
  • Toți indicii operațiilor care apar sunt distincți.
  • Toate numerele sunt întregi.
  • Mugurel își cere scuze pentru inconveniențe, data viitoare va cumpăra un cadou mai calitativ.
  • Pentru teste în valoare de 55 puncte, indicii operațiilor sunt în ordine crescătoare.
  • Pentru alte teste în valoare de 55 puncte, toate operațiile sunt de tip push\text{push}.
  • Pentru alte teste în valoare de 88 puncte, N5 000N \leq 5 \ 000.
  • Pentru alte teste în valoare de 1313 puncte, toate operațiile push\text{push} apar înaintea operațiilor pop\text{pop}.
  • Pentru alte teste în valoare de 6969 de puncte, nu există restricții suplimentare.

Exemplul 1

mugur.in

4
1 push 2
4 pop
2 push 3
3 push 4

mugur.out

2
-1
2
3

Explicație

În acest exemplu, avem următoarele operații după fiecare zi:

  • După prima zi, avem operațiile: push 2\text{push} \ 2. Vârful stivei este 22.
  • După a doua zi, avem operațiile: push 2\text{push} \ 2, pop\text{pop}. Stiva este goală.
  • După a treia zi, avem operațiile: push 2\text{push} \ 2, push 3\text{push} \ 3, pop\text{pop}. Vârful stivei este 22.
  • După a patra zi, avem operațiile: push 2\text{push} \ 2, push 3\text{push} \ 3, push 4\text{push} \ 4, pop\text{pop}. Vârful stivei este 33.

Exemplul 2

mugur.in

7
1 pop
4 push 7
2 push 9
5 pop
3 push 5
6 pop
7 pop

mugur.out

-1
7
7
9
5
9
-1

Explicație

În acest exemplu, avem următoarele operații după fiecare zi:

  • După prima zi, avem operațiile: pop\text{pop}. Stiva este goală.
  • După a doua zi, avem operațiile: pop\text{pop}, push 7\text{push} \ 7. Vârful stivei este 77.
  • După a treia zi, avem operațiile: pop\text{pop}, push 9\text{push} \ 9, push 7\text{push} \ 7. Vârful stivei este 77.
  • După a patra zi, avem operațiile: pop\text{pop}, push 9\text{push} \ 9, push 7\text{push} \ 7, pop\text{pop}. Vârful stivei este 99.
  • După a cincea zi, avem operațiile: pop\text{pop}, push 9\text{push} \ 9, push 5\text{push} \ 5, push 7\text{push} \ 7, pop\text{pop}. Vârful stivei este 55.
  • După a șasea zi, avem operațiile: pop\text{pop}, push 9\text{push} \ 9, push 5\text{push} \ 5, push 7\text{push} \ 7, pop\text{pop}, pop\text{pop}. Vârful stivei este 99.
  • După a șaptea zi, avem operațiile: pop\text{pop}, push 9\text{push} \ 9, push 5\text{push} \ 5, push 7\text{push} \ 7, pop\text{pop}, pop\text{pop}, pop\text{pop}. Stiva este goală.

Problem info

ID: 2569

Editor: moldovan_robert_lol

Author:

Source: Concursul Grigore Moisil 2024 XI-XII: Problema 2

Tags:

Concursul Grigore Moisil 2024 XI-XII

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