Напишите программу, реализующую структуру данных, позволяющую добавлять и удалять элементы, а также находить k-ый максимум.
Первая строка содержит количество команд n (n ≤ 10^5
). Последующие n строк содержат по одной команде каждая. Команда записывается в виде двух чисел c[i]
и k[i]
- тип и аргумент команды соответственно (|k[i]
| ≤ 10^9
). Поддерживаемые команды:
+1: Добавить элемент с ключом k[i]
;
0: Найти и вывести k[i]
-ый максимум;
-1: Удалить элемент с ключом k[i]
.
Гарантируется, что в процессе работы в структуре не требуется хранить элементы с равными ключами или удалять несуществующие элементы. Также гарантируется, что при запросе k[i]
-го максимума, он существует.
Для каждой команды нулевого типа вывести строку, содержащую единственное число - k[i]
-ый максимум.