Пример ввода:
2
3 101 102 103
3 201 202 203
ENQUEUE 101
ENQUEUE 201
ENQUEUE 102
ENQUEUE 202
ENQUEUE 103
ENQUEUE 203
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
STOP
Первая строка = Количество «групп», N
После N строк = Первое число - это количество элементов в группе K, следующие числа: Kсами элементы (в диапазоне 0 ... 999999)
Все строки до ввода STOP = запрос либо постановки в очередь, либо удаления из очереди.Если поставить в очередь, вы ставите в очередь элемент, обрабатываемый в данный момент, E, либо в точке A. в конце очереди, если в очереди нет элемента, принадлежащего к той же «группе», что и E или B. сразу за последним элементомкоторый принадлежит к той же «группе», что и E
Удаление очереди просто, просто удалите первый элемент из очереди.Для каждого запроса Dequeue выведите элемент, который был исключен.
Постановка в очередь и освобождение элемента должны занимать только постоянное время
Вывод будет:
101
102
103
201
202
203
Сначала я думаю о каком-то2D вложенной структуры, например, массива очередей или чего-то подобного, но постановка в очередь / снятие очереди не займет постоянного времени, поэтому я не уверен.
Кроме того, тот факт, что мне даны сами элементыперед запросами должна быть подсказка, но в том, в чем я не уверен.