Module: Warteschlange mit Priorität: priority_queue


Problem

3 /3


Pyramide (Maximum)

Problem

Schreiben Sie ein Programm, das eine Abfolge von Abfragen dieser Art verarbeitet:
 
CLEAR — Mache die Pyramide leer (wenn bereits Elemente in der Pyramide vorhanden sind, lösche alles). Die Aktion findet nur mit Daten im Speicher statt, es wird nichts auf dem Bildschirm angezeigt.
 
ADD n — Fügen Sie der Pyramide eine Zahl n hinzu. Die Aktion findet nur mit Daten im Speicher statt, es wird nichts auf dem Bildschirm angezeigt.
 
EXTRACT — den maximalen Wert aus der Pyramide entfernen. Sie sollten die Daten im Speicher ändern und entweder den gefundenen maximalen Wert anzeigen, oder, wenn die Pyramide leer war, das Wort "CANNOT" (in großen Buchstaben).
 
Eingabe
Die Eingabe enthält eine beliebige Abfolge von CLEAR-, ADD- und EXTRACT-Abfragen, jeweils in einer separaten Zeile, entsprechend dem oben beschriebenen Format. Die Daten enden mit "END!"
 
Die Gesamtzahl aller Anfragen überschreitet 200.000 nicht.
 
Ausgabe
Geben Sie für jede EXTRACT-Abfrage das Ergebnis (in einer separaten Zeile) an die Standardausgabe (Bildschirm) aus.

Eingabe Ausgabe
ADD 192168812
ADD 125
ADD 321
EXTRACT
EXTRACT
CLEAR
ADD 7
ADD 555
EXTRACT
EXTRACT
EXTRACT
END!
192168812
321
555
7
CANNOT