eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Черга з пріоритетами

Черга з пріоритетами

Реалізуйте структуру "черга з пріоритетами", яка підтримує наступні операції: \begin{enumerate} \item Додавання елементу в чергу. \item Видалення з черги елемента з найбільшим приорітетом. \item Зміна приорітета для довільного елемента, який знаходиться у черзі. \end{enumerate} \InputFile Програма отримує на вхід послідовність команд, по одній команді у кожному рядку. Загальне число команд не перевищує \textbf{30000}. Команда може мати один з наступних форматів: \begin{itemize} \item \textbf{ADD id priority} - додати в чергу новый елемент з ідентифікатором \textbf{id} та приорітетом \textbf{priority}. Гарантується, що в черзі немає елемента з таким ідентифікатором. \item \textbf{POP} - видалити з черги елемент з найбільшим значенням приорітету. Якщо таких елементів декілька, то видаляється один (довільний) з них. Гарантується, що черга не порожня. \item \textbf{CHANGE id new_priority} - змінити значення приорітету елемента з ідентифікатором \textbf{id} на значення \textbf{new_priority}. Гарантується, що в черзі є елемент з таким ідентифікатором. \end{itemize} Ідентифікатори елементів - рядки, які складаються з рядкових латинських букв не більше \textbf{10} символів. Ідентифікатори - довільні цілі числа. На самому початку черга порожня. \OutputFile Для кожної команди типу \textbf{POP} виведіть ідентифікатор видаленого елементу, і, через пропуск, значення його приорітету.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
ADD one 1
ADD two 2
ADD three 3
POP
CHANGE one 5
POP
POP
Вихідні дані #1
three 3
one 5
two 2