Контест Middle Структуры, методы и интерфейсы обновлено

Очередь с приоритетом через container/heap на Go

Условие

Реализуйте очередь задач с приоритетом. Операции:

  • push <имя> <приоритет>: добавить задачу;
  • pop: вывести имя задачи с наибольшим приоритетом и удалить её; при равных приоритетах первой выходит добавленная раньше. Если очередь пуста, вывести empty.

Ввод: q (1 ≤ q ≤ 3000), затем q операций. Приоритеты целые.

Вывод: результат каждого pop.

Пример

7
push fix 5
push deploy 9
push docs 1
pop
push hotfix 9
pop
pop
deploy
hotfix
fix

Как подойти

Тип-слайс с методами Len/Less/Swap/Push/Pop, ключ (−priority, seq).

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

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