Гоблины и шаманыГоблины Мглистых гор очень любях ходить к своим шаманам. Так как гоблинов много, к шаманам часто образуются очень длинные очереди. А поскольку много гоблинов в одном месте быстро образуют шумную толку, которая мешает шаманам проводить сложные медицинские манипуляции, последние решили установить некоторые правила касательно порядка в очереди. Обычные гоблины при посещении шаманов должны вставать в конец очереди. Привилегированные же гоблины, знающие особый пароль, встают ровно в ее середину, причем при нечетной длине очереди они встают сразу за центром. Так как гоблины также широко известны своим непочтительным отношением ко всяческим правилам и законам, шаманы попросили вас написать программу, которая бы отслеживала порядок гоблинов в очереди. Входные данныеВ первой строке входных данный записано число N (1≤N≤105) — количество запросов к программе. Следующие N строк содержат описание запросов в формате:"+ i" — гоблин с номером i (1≤i≤N) встает в конец очереди. "* i" — привилегированный гоблин с номером i встает в середину очереди. "-" — первый гоблин из очереди уходит к шаманам. Гарантируется, что на момент такого запроса очередь не пуста. Выходные данныеДля каждого запроса типа "-" программа должна вывести номер гоблина, который должен зайти к шаманам. ПримерыВвод7+ 1+ 2-+ 3+ 4--Вывод123Решить на C++
ответы: 1
Зарегистрируйтесь, чтобы добавить ответ
Ответ:
Явно напрашивается использование приоритетной очереди с 1 условием-проверкой на тип гоблина. Она уже реализована в стандартной библиотеке https://en. cppreference. com/w/cpp/container/priority_queue.