希蒙的玩具兵团
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
希蒙下达命令让个士兵们站成一行。不妨认为它们站在了一个数轴上,每个士兵的位置就是它脚下数轴的数字。希蒙会告诉你,第 个士兵的位置为 。不保证 升序。
数轴的长度是有限制的,具体的范围是 。也就是说,如果某个士兵移出了这个范围,它就脱离了这个队列了,并且不会再次回到队列当中。
为了训练士兵,希蒙给士兵们下达了 个指令,有以下 3 种:
指令 1:全体士兵向数轴的正方向移动 个单位长度。
指令 2:全体士兵往数轴的反方向移动 个单位长度。
指令 3:依次报数,统计目前队列里一共有多少个士兵。
但是希蒙发现,士兵兵团的大小实在是太大了,以至于执行这些操作变得非常缓慢。尽管如此,希蒙仍然希望你告诉他所有指令 3 的结果。
输入格式
第一行共有 个整数 ,含义如题面所示。
第二行共有 个整数 ,表示每个士兵的位置。
接下来 行,有 或者 个正整数,描述一条指令。首先是一个整数 ,表示这条指令的类型。如果 ,接下来还会输入一个整数 。
输出格式
对于每条指令 3 ,输出一个整数,表示目前还在队列中的士兵的数目。
样例
输入样例
3 4 3
-1 1 2
2 3
3
1 5
3
输出样例
2
1
数据范围与提示
样例 1 说明 一共有三个士兵。初始时,它们的站位分别是 。
第一次操作后,所有士兵向左移动 格,位置变成了 。第一个士兵被移出了数轴。
第二次操作后,输出当前的士兵数目,为 个。
第三次操作后,所有士兵向右移动 格,位置变成了 ,第二个士兵被移出了数轴。
第四次操作后,输出当前的士兵数目,为 个。
数据规模与约定 对于 的数据,; 对于另外 的数据,; 对于 的数据,,,。
此题可能会需要手动模拟队列/双向队列,可参考下列链接双向队列