OpenJudge

27:Freda的队列

总时间限制:
1000ms
内存限制:
65536kB
描述

Freda有一个队列,最初它是空的。

现在Freda接到了一系列指令,每个指令包含一个整数x。

  • 如果x>0,表示在队列开头加入一个数x。

  • 如果x=0,表示把队列复制一份,并接在现有队列的末尾。

  • 如果x=-1,表示弹出队列头部的数,并输出这个数值。

但是指令实在是太多了,Freda实在是计算不过来每次要输出什么数值,请你帮帮她吧。

输入
第一行包含一个整数N,表示指令的个数。
接下来N行每行一个整数x,描述每条指令。
1<=N<=10^6,-1<=x<=10^9。
输出
对于每条x=-1的指令,若此时队列不为空,则输出一个整数,表示从队头弹出的数。否则不进行任何操作。
样例输入
8
3
4
0
-1
-1
-1
-1
1
样例输出
4
3
4
3
提示
数据量较大,请使用scanf/printf输入输出。
不必使用读入优化(本人出题,从不卡输入输出)。
全局题号
8658
添加于
2017-04-14
提交次数
37
尝试人数
11
通过人数
8