Реализация собственной кучи

Пусть у нас есть изначально пустая куча, и требуется обработать q запросов. Существуют три типа запросов:
  1. add x — добавить x в кучу
  1. pop — удалить корневой элемент кучи
  1. max — вывести максимальный элемент кучи

Входные данные

Первая строка содержит одно целое число q (1 ≤ q ≤ 10^5).
Следующие q строк содержат запросы — по одному в каждой строке. Гарантируется, что во всех запросах типа add значение x не превышает по модулю . Также гарантируется, что все операции валидны и не будет выполнен pop при пустой куче.

Выходные данные

Программа должна вывести результат для каждого запроса max в отдельной строке.

Примеры

Входные данные
Выходные данные
9 add 1 add 2 max add -3 add 4 max add -2 pop max
2 4 2
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue