Задачі
К-ий максимум
К-ий максимум
Напишіть програму, яка реалізує структуру даних, що дозволяє додавати і видаляти елементи, а також знаходити k-ий максимум.
Вхідні дані
Перший рядок містить кількість команд n (n ≤ 105
). Наступні n рядків містять по одній команді кожна. Команду записано у вигляді двох чисел ci
та ki
- тип і аргумент команди відповідно (|ki
| ≤ 109
). Підтримувані команди:
- +1: Додати елемент з ключем
ki
; - 0: Знайти і вивести
ki
-ий максимум; - -1: Видалити елемент з ключем
ki
.
Гарантується, що у процесі роботи в структурі не потрібно зберігати елементи з рівними ключами або видаляти неіснуючі елементи. Також гарантується, що при запиті ki
-го максимуму, він існує.
Вихідні дані
Для кожної команди нульового типу у вихідний файл повинен бути виведений рядок, що містить єдине число - ki
-ий максимум.
Вхідні дані #1
8 +1 5 +1 3 +1 7 0 2 -1 3 0 1 +1 10 0 3
Вихідні дані #1
5 7 5