3240:简易数字变换

时间限制:4 S   /  内存限制:65536 KB
AC:42   /  Submit:198
问题描述

给定m个整数的初始值A1、A2、...、Am,有以下两种类型操作:

1、把某一下标范围内的数字都加上一个给定的值;

2、在某一下标范围内计算数字的和

这两种类型的操作一共会执行q次。

输入描述

只有一组案例。

两个正整数m和q,表示数字的个数和操作的次数。(m<=100000, q<=100000)

然后有m个整数,表示数字的初始值A1、A2、...、Am。(-1e9<=Ai<=1e9)

接下来有q行数据,每行数据表示一次操作,两种操作的说明如下:

形如“P a b c”的操作表示把Aa到Ab的所有元素都增加c。(1<=a<=b<=m, -10000<=c<=10000)

形如“Q a b”的操作表示计算Aa到Ab的所有元素的总和,并输出。(1<=a<=b<=m)

输出描述

针对每个Q操作指令,输出计算结果,然后换行。

样例输入复制样例

10 5

1 2 3 4 5 6 7 8 9 10

Q 4 4

Q 1 10

Q 2 4

P 3 6 3

Q 2 4

样例输出

4

55

9

15

提示说明
32位的int不够存总和,64位的int用long long
相关

厦门大学嘉庚学院第八届编程大赛


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