2020级计算机专业《面向对象程序设计(C++)》

K. 环形队列

单点时限: 4.5 sec

内存限制: 256 MB

实现环形队列,要求能够进行进队出队操作。

队列的最大容量是MAX_N为$100 001$。

输入格式

初始时,队列为空。

第一行有一个整数 $q$,表示操作的个数,接下来的 $q $行里,每行格式如下:

  • enqueue x, 表示把整数 x 进队;
  • dequeue,表示出队。

输出格式

每个输出独占一行。

对于出队操作,每次操作都要打印当前的出队的元素,如出队不成功,输出 -1

对于入队操作,当且仅当入队不成功的时候需要打印错误信息,输出Full

如果队列已满,则在输出错误信息后,无视当前的入队操作(即当前元素就丢失了),但是继续后面的操作,直到队列再次因为某种可能的操作重新非满,这时候后面所有的操作继续正常进行,对于已经跳过(已经丢失的元素)的操作不再补做。

样例

Input
10
dequeue
dequeue
dequeue
dequeue
dequeue
dequeue
dequeue
dequeue
dequeue
dequeue
Output
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
Input
10
enqueue 138
enqueue 1461
enqueue 12813
dequeue
enqueue 3627
dequeue
dequeue
enqueue 2291
enqueue 31871
dequeue
Output
138
1461
12813
3627