Algorytmy 1
Kolejka priorytetowa
Twoim zadaniem będzie szybkie wykownywanie następujących operacji na początkowo pustym multizbiorze :
ADD x
– dodaj do multizbioru pewną liczbęMAX
– odczytaj z multizbioru największą liczbę, a następnie ją usuń
Wejście
Pierwszy wiersz wejścia zawiera jedną liczbę oznaczającą liczbę operacji. Kolejne wierszy zawiera opisy tych operacji. Każdy wiersz najpierw zawiera polecenie ADD
lub MAX
. Jeżeli poleceniem jest ADD
po spacji znajduje się liczba .
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 jest pusty, zamiast liczby powinien znaleźć się napis BRAK
).
Ograniczenia
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