Q


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C++, PyPy, Python

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:

  1. push \(x\) doda prirodni broj \(x\) (\(1 \leq x \leq 10^9\)) na kraj queue.
  2. pop izbaci broj sa početka queue.
  3. front ispiše element koji se nalazi na početku queue. Ako u queue nema elemenata ispišite -1.
  4. 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.
  5. 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

There are no comments at the moment.