Coding is the closest thing we have to superpower !
描述
给定一个长度为n的数组a_1, a_1, a_2, ..., a_{n}。
有m个操作,形如以下两种:
1、inc(lf, rg, v)表示将区间[lf, rg]里面的元素都增加v。
2、sum(lf, rg)表示查询区间[lf, rg]里面元素的和。
输入
第一行给出两个整数n(1 \le n \le 10^5)。
接下来一行给出n个整数a_1, a_1, a_2, ..., a_{n}( |a_i| \le 10^4)。
然后输入一个整数m(1 \le m \le 10^5)。
接下来m行,如果输入2 \ lf \ rg(1 \le lf \le rg \le n),表示sum操作;如果输入1 \ lf \ rg \ v(1 \le lf \le rg \le n, |v|\le 10^4),则表示inc操作。
输出
对于每一个sum操作,输出区间和。
样例
输入
10 1 2 3 4 5 6 7 8 9 10 5 2 4 4 2 1 10 2 2 4 1 3 6 3 2 2 4
输出
4 55 9 15
标签