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

Пусть у нас есть изначально пустая куча, и требуется обработать q запросов. Существуют три типа запросов:

  1. add x — добавить x в кучу

  2. pop — удалить корневой элемент кучи

  3. 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