Q
Joška (18m) je jednoga dana izašao iz kuće i odlučio prošetati svoju kokoš Kristijana (7m) do parka. U parku Joška i Kristijan nisu mogli vjerovati na što su naišli. Naime u parku su našli šašavi queue. Joška ga je odmah uzeo sa sobom i krenuo kući. Nakon dugog puta do kuće primjetio je da mu je queue ispao iz džepa, ali kako su on i Kristijan bili preumorni nije im se dalo vratiti po njega stoga vas moli da napravite queue poput onog kojeg su našli u parku.
Joškin bivši queue ima iduća svojstva:
- push \(x\) doda prirodni broj \(x\) (\(1 \leq x \leq 10^9\)) na kraj queue.
- pop izbaci broj sa početka queue.
- front ispiše element koji se nalazi na početku queue. Ako u queue nema elemenata ispišite -1.
- kada se dogodi pop, a više nema elemenata u queue, veličina queue će postati negativna te nijedan push neće ništa dodati u queue nego će samo povećati veličinu dok je veličina negativna.
- queue je na početku zadatka prazan
Ulazni podatci
U prvome redu dan je broj \(n\) (\(1 \leq n \leq 10^5\)), broj operacija koje ćete morati napraviti. U idućih \(n\) redova dobiti ćete operacije iz prva tri svojstva.
Izlazni podatci
Kada se pojavi operacija front, ispišite traženi broj iz zadatka.
Podzadatci
Podzadatak | Broj bodova | Ograničenja |
---|---|---|
1 | 40 | \(1 \leq n \leq 1000\) i nikad neće broj elemenata u queue biti negativan |
2 | 30 | \(1 \leq n \leq 1000\) |
3 | 30 | Nema dodatnih ograničenja. |
Ulaz primjera
9
push 5
push 2
front
pop
pop
pop
front
push 5
front
Izlaz primjera
5
-1
-1
Objašnjenje primjera
Kod prvog front u queue će se nalaziti redom brojevi 5, 2. Nakon toga se dogode tri pop stoga je veličina queue jednaka -1 te kada dođe naredba front on je prazan pa je ispis -1. Nakon toga dodavanjem broja 5 veličina queue postaje 0 te će front opet ispisati -1.
Comments