问题 2181. -- 太空堡垒

2181: 太空堡垒

时间限制: 1 Sec  内存限制: 128 MB
提交: 2  解决: 2
[提交][状态][讨论版]

题目描述

楚继光的太空舰队在太空中沿直线布置了N个太空堡垒,由于李旭琳的舰队采取了某种先进的监测手段,所以楚继光的每个堡垒的飞船数李旭琳都掌握得一清二楚,每个堡垒的飞船数都有可能发生变动,可能增加或减少若干飞船,但这些都逃不过李旭琳舰队的监视。
作为演习总指挥的张琪曼,需要经常了解某一段连续的堡垒一共有多少飞船,例如张琪曼问:“红方指挥官,马上汇报第3个堡垒到第10个堡垒共有多少飞船!”红方指挥官李旭琳就要派你马上开始计算这一段的总飞船数并汇报。但堡垒的飞船数经常变动,而张琪曼每次询问的段都不一样,所以你不得不每次都一个一个汇报堡垒的去数,因此很快就筋疲力尽了。为了避免这种情况的发生,你能写个程序完成这项工作吗?

输入

第一行一个整数T,表示有T组数据。
每组数据第一行一个正整数N(N<=50000),表示敌人有N个工兵营地,接下来有N个正整数,第i个正整数ai代表第i个工兵营地里开始时有ai个人(1<=ai<=50)。
接下来每行有一条命令,命令有4种形式:
(1) Add i j,i和j为正整数,表示第i个营地增加j个人(j不超过30)
(2)Sub i j ,i和j为正整数,表示第i个营地减少j个人(j不超过30);
(3)Query i j ,i和j为正整数,i<=j,表示询问第i到第j个营地的总人数;
(4)End 表示结束,这条命令在每组数据最后出现;
每组数据最多有40000条命令

输出

对第i组数据,首先输出“Case i:”和回车,
对于每个Query询问,输出一个整数并回车,表示询问的段中的总人数,这个数保持在int以内。

样例输入

2
10
1 2 3 4 5 6 7 8 9 10
Query 1 3
Add 3 6
Query 2 7
Sub 10 2
Add 6 3
Query 3 10
End
20
25 40 49 7 16 24 32 40 48 5 13 21 27 37 43 1 9 17 24 32
Query 5 13
Add 6 6
Sub 12 3
Add 7 3
Query 2 19
End

样例输出

Case 1:
6
33
59
Case 2:
226
459

提示

来源

[提交][状态]