#ds. 循环队列练习

循环队列练习

题目描述

队列是一种数据结构。现在你要支持几种操作:

  • pushpush xx,将 xx 这个元素放到队尾。
  • poppop,将队首的元素删除。
  • queryquery kk,询问从队首往后数第 kk 个元素是多少。

(术语说明:队列是一种线性数据结构,遵循先进先出(FIFO,First In First Out)的原则,即最先放入的元素最先被取出。)

输入格式

第一行一个整数 mm,表示操作个数。

接下来 mm 行,每行一个上面所述的操作。

输出格式

输出若干行,对于每个查询操作,输出答案。

样例输入

10
push 1
push 2
query 1
query 2
push 3
query 1
pop
query 1
push 4
query 1

样例输出

1
2
1
2
2

数据范围

对于 100%100\% 的数据,保证 1m1061 \le m \le 10^6

对于 pushpush 操作,保证 1x1061 \le x \le 10^6

对于 poppop 操作,保证队列非空。

对于 queryquery 操作,保证 k1k \ge 1kk 不超过队列里面的元素个数。

保证所有时刻,队列长度 len1000len \le 1000