- Описание
- Отправленные решения
148. Хипуй
В этой задаче вам необходимо самостоятельно (не используя соответствующие классы и функции стандартной библиотеки) организовать структуру данных Heap для хранения целых чисел, над которой определены следующие операции:
a) Insert(k) – добавить в Heap число k ;
b) Extract достать из Heap наибольшее число (удалив его при этом).
Формат ввода
В первой строке содержится количество команд N (1 $\le$ N $\le$ 100000), далее следуют N команд, каждая в своей строке. Команда может иметь формат: “0 $\lt$ число $\gt$ ” или “1”, обозначающий, соответственно, операции Insert( $\lt$ число $\gt$ ) и Extract. Гарантируется, что при выполнении команды Extract в структуре находится по крайней мере один элемент.
Формат вывода
Для каждой команды извлечения необходимо отдельной строкой вывести число, полученное при выполнении команды Extract.
Ограничения
Ограничение времени
2 с
Ограничение памяти
64 МБ
Пример 1
2
0 10000
1
10000
Пример 2
14
0 1
0 345
1
0 4346
1
0 2435
1
0 235
0 5
0 365
1
1
1
1
345
4346
2435
365
235
5
1