数列操作c

Grade Open Time Friday, 19 September 2014, 10:07 am
Discount 0.8 Time Discount Friday, 26 September 2014, 10:07 am
Allow late Yes Close Time Friday, 26 September 2014, 10:07 am
Input file shuliec.in Output file shuliec.out

所有答案小于4611686018427387904

【问题描述】

    假设有一列数 {Ai }(1 ≤ i ≤ n),n<=100000 ,支持如下两种操作:

(1)将 A i至A j 的值均增加 D 。( i,j,D 是输入的数)

(2) 输出 A s +A s+1 +…+A t 。( s, t 都是输入的数, S ≤ T )

根据操作要求进行正确操作并输出结果。

【输入格式】

    输入文件第一行一个整数 n ,

第二行为 n 个整数,表示 {A i } 的初始值。

第三行为一个整数 m ,表示操作数

v 下接 m 行,每行描述一个操作,有如下两种情况:

ADD i j d ( 表示将 A i至A j 的值均增加 D , 1<=i,j<=n , d 为整数 )

SUM s t (表示输出 A s +…+A t )

【输出格式】

   对于每一个 SUM 提问,输出结果

【输入输出样例】

输入:

shuliec.in

4

1 4 2 3

3

SUM 1 3

ADD 2 2 50

SUM 2 3

输出:

shuliec.out

7

56