Algorytmy 1
Kolejka priorytetowa
Twoim zadaniem będzie szybkie wykownywanie następujących operacji na początkowo pustym multizbiorze $A$:
ADD x– dodaj do multizbioru $A$ pewną liczbę $x$MAX– odczytaj z multizbioru $A$ największą liczbę, a następnie ją usuń
Wejście
Pierwszy wiersz wejścia zawiera jedną liczbę $n$ oznaczającą liczbę operacji. Kolejne $n$ wierszy zawiera opisy tych operacji. Każdy wiersz najpierw zawiera polecenie ADD lub MAX. Jeżeli poleceniem jest ADD po spacji znajduje się liczba $x$.
Wyjście
Na wyjściu powinno znaleźć się tyle wierszy ile było poleceń MAX na wejściu. W kolejnych wierszach powinny znaleźć się liczby odczytane w kolejnych wywołaniach MAX (jeżeli podczas wywołania MAX multizbiór $A$ jest pusty, zamiast liczby powinien znaleźć się napis BRAK).
Ograniczenia
- $1 \le n \le 10^6$
- $-10^9 \le x \le 10^9$
Przykłady
Wejście 1
9
ADD 1
ADD 3
ADD 1
MAX
ADD 2
MAX
MAX
MAX
MAX
Wyjście 1
3
2
1
1
BRAK