К-ий максимум
Напишіть програму, яка реалізує структуру даних, що дозволяє додавати і видаляти елементи, а також знаходити 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]
-ий максимум.