1004:红色警戒-共和国之辉

时间限制:2 S   /  内存限制:65536 KB
AC:104   /  Submit:201
描述

ZSW 是一个无聊的少年,某天他心血来潮下载了红色警戒-共和国之辉,他听说解放军十分强大,所以想试试战斗力,于是他设定了一个弱智的电脑对手。

ZSW 将训练的解放军随机分配成 n 个小分队,按顺时针方向在敌人的阵地外围包围了个圈,编号为 1 ~ n,每支分队的人数分别为 a1,a2 … an

与此同时,敌人的防御工事将对解放军进行攻击,当某支小队被歼灭后,后面分队的编号将依次前调。

请你编写一个程序帮无聊的 ZSW 处理数据,便于派遣和查询各个小队的人数。


输入

第一行是两个正整数 n 和 m,分别表示小队的数量和 ZSW 操作的次数。

第二行是 n 个正整数 a1,a2 … a分别代表每个小队的人数。

接下来 m 行,每行是一个如下操作:

Die i:第 i 支小分队被歼灭。

Adjust i j x:从第 i 支小分队掉出 x 名解放军到与之顺时针方向相距 j 的小分队。当调离后第 i 支小分队人数为 0 时,效果等同于被歼灭。

Query i:为了统筹大局,ZSW 需要实时了解兵力分布情况,于是需要不断查询某个分队 i 的兵力。

保证:

1、出现的所有数字都是不大于 1000 的正整数

2、被调离的小队至少有 x 名解放军

注意:

Adjust i j x,其中的 j 可以大于当前的小队总数,因为小队围了个圈,所以相距的本意是从 i 开始往后数 j 个。

Query i,i 可能大于当前小队总数,此时大于的部分也应当是循环计数,例如当前小队数量为 5,那么第 8 支小队其实就是第 3 支小队。

输出

对于每一次 Query i 操作,你都需要输出第 i 支小分队的人数,然后换行。

样例输入复制样例

4 10

2 4 5 8

Adjust 1 2 1

Query 3

Adjust 1 3 1

Query 3

Adjust 2 10 1

Query 3

Adjust 2 4 5

Query 1

Die 1

Query 1

样例输出

6

9

10

9

10

相关

Beta Mid-Autumn Round#1

在线调试
复制代码 前往提交 清空代码
自定义测试 填入样例 运行测试 清空填入
程序输入
期望输出
实际输出
编译器输出

Copyright 2016 - 2022 XUJC ACM Team
闽ICP备2020022076号-1