Problem4558--队列练习1

4558: 队列练习1

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

给定一个队列(初始为空),只有两种操作入队和出队,现给出这些操作请输出最终的队头元素。
操作解释:
$1$ 表示将某个数据加入到队列中,其后将跟随一个整数。例如,$1 \quad 3$ 表示将数据 $3$ 加入到队列的尾部;
$2$ 表示从队列中删除队首元素。

Input

第一行一个整数 $N$,表示操作个数,$1 \leq N \leq 10^6$。
其后 $N$ 个操作。如果是入队则后面还会有一个入队元素,入队的元素绝对值不会超过 $10^9$。
具体见样例,保证队空时不会出队。

Output

最终队头元素,若最终队空,输出 ”impossible!”(不含引号)。

Sample 1 Input

3
1 2
1 9
2

Sample 1 Output

9
第 $1$ 行为 $3$,表示有 $3$ 个操作。
第 $2$ 行为 $1 2$,表示将数据 $2$ 加入队列。目前队列内元素为 $\{2\}$。
第 $3$ 行为 $1 9$,表示将数据 $9$ 加入队列。目前队列内元素为 $\{2 \quad 9\}$。
第 $4$ 行为 $2$,表示从队列中删除首元素。目前队列内的元素为 $\{9\}$。
因此,最后的输出为 $9$。

Source/Category

数据结构 2.4.队列 STL 3.4.queue