Задача №3492. Пирамида (максимум)
Напишите программу, которая будет обрабатывать последовательность запросов таких видов:
CLEAR — сделать пирамиду пустой (если в пирамиде уже были какие-то элементы, удалить все). Действие происходит только с данными в памяти, на экран ничего не выводится.
ADD n — добавить в пирамиду число n. Действие происходит только с данными в памяти, на экран ничего не выводится.
EXTRACT — вынуть из пирамиды максимальное значение. Следует и изменить данные в памяти, и вывести на экран или найденное максимальное значение, или, если пирамида была пустой, слово "CANNOT" (большими буквами).
Во входных данных записано произвольную последовательность запросов CLEAR, ADD и EXTRACT — каждый в отдельной строке, согласно вышеописанному формату.
Суммарное количество всех запросов не превышает 200000.
Для каждого запроса типа EXTRACT выведите на стандартный выход (экран) его результат (в отдельной строке).
Задачу следует решить двумя способами. Один — использовать стандартную реализацию пирамиды в STL; она называется priority_queue, для её использования необходимо подключить заголовочный файл queue. Другой способ — реализовать пирамиду самому, использовать разрешено лишь некоторые из следующих заголовочных файлов: iostream, fstream, сstdio, stdio.h, string, string.h, vector.
ADD 192168812 ADD 125 ADD 321 EXTRACT EXTRACT CLEAR ADD 7 ADD 555 EXTRACT EXTRACT EXTRACT
192168812 321 555 7 CANNOT