Контест Middle Коллекции изнутри обновлено

Очередь задач с приоритетом

Условие

Диспетчер принимает задачи и выдаёт их на выполнение. Операции:

  • add name p добавить задачу с именем name и приоритетом p;
  • next выдать задачу с наибольшим приоритетом, а среди равных ту, что добавлена раньше; вывести её имя или empty, если задач нет.

Ввод: в первой строке q (1 ≤ q ≤ 2·10⁴), далее операции. Имена из латинских букв и цифр, приоритеты от 0 до 10⁹.

Вывод: результат каждой операции next.

Пример

6
add build 2
add deploy 5
add test 5
next
next
next
deploy
test
build

Как подойти

Подсказки: 2
  1. Куча не гарантирует порядок равных элементов.
  2. Добавьте к задаче порядковый номер.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме