N. Куча с изменением ключа
3000 мс · 256 МБ · всё или ничего
Реализуйте min-кучу, в которой элементы различаются идентификаторами, и поддержите три операции: добавить элемент с данным идентификатором и значением, уменьшить значение данного идентификатора, извлечь минимум.
При равных значениях меньшим считается элемент с меньшим идентификатором - так ответ становится однозначным.
Формат ввода
В первой строке - число запросов ().
Далее строк. Тип «1 id v» - добавить элемент с идентификатором () и значением (); гарантируется, что такого идентификатора в куче нет. Тип «2 id v» - установить значение идентификатора равным ; гарантируется, что он есть и что меньше текущего. Тип «3» - извлечь минимум.
Формат вывода
На каждый запрос типа 3 выведите идентификатор и значение извлечённого элемента или , если куча пуста.
Примеры
ввод
5 1 1 10 1 2 20 2 2 5 3 3
вывод
2 5 1 10
ввод
1 3
вывод
-1
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.