Піраміда
Перегляд у форматі PDFНапишіть програму, яка буде обробляти послідовність запитів таких видів:
CLEAR – зробити піраміду порожньою (якщо в піраміді вже були якісь елементи, видалити все).
Дія відбувається тільки з даними в пам'яті, нічого не виводиться.
ADD n – додати в піраміду число n.
Дія відбувається тільки з даними в пам'яті, нічого не виводиться.
EXTRACT – вийняти з піраміди максимальне значення.
Слід і змінити дані в пам'яті, і вивести на екран
або знайдене максимальне значення, або, якщо піраміда була порожньою, слово CANNOT.
Вхідні дані
У вхідних даних записано довільну послідовність запитів CLEAR, ADD і EXTRACT – кожен в окремому рядку, відповідно до вищеописаного формату. Сумарна кількість всіх запитів не перевищує 200000.
Результати
Для кожного запиту EXTRACT виведіть в окремому рядку його результат.
Приклади
Вхід
ADD 192168812
ADD 125
ADD 321
EXTRACT
EXTRACT
CLEAR
ADD 7
ADD 555
EXTRACT
EXTRACT
EXTRACT
Результат
192168812
321
555
7
CANNOT
Примітки
В кого проходять тести 1–8, але тест 9 дає вердикт «Неправильна відповідь» – у першу чергу слід перевірити, чи підтримує Ваша реалізація одночасне перебування у структурі кількох елементів з однаковим значенням (повинна підтримувати, в тому смислі, що скільки штук поклали, стільки й повинно зберігатися, а якщо до них дійде черга, то стільки штук і вийматися).
Коментарі