2828: 「一本通 4.3 例 2」A Simple Problem with Integers

Memory Limit:512 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:286 Solved:84

Description

这是一道模板题。

给定数列 $a_1, a_2, \dots, a_n$,你需要依次进行 $q$ 个操作,操作有两类:

  • 1 l r x:对于所有 $i \in \lbrack l, r \rbrack$,将 $a_i$ 加上 $x$(换言之,将 $a_l, a_{l+1}, \dots, a_r$ 分别加上 $x$);

  • 2 l r:求 $\sum\limits_{i=l}^r{a_i}$ 的值(换言之,求 $a_l + a_{l+1} + \dots + a_r$ 的值)。

Input

第一行包含 2 个正整数 $n, q$,表示数列长度和询问个数。

第二行 $n$ 个整数 $a_1, a_2, \dots, a_n$,表示初始数列。

接下来 $q$ 行,每行一个操作,为题意所述两种操作之一。

Output

对于每个 2 l r 操作,输出一行一个整数,表示所求的结果。

Sample Input Copy

5 10
2 6 6 1 1
2 1 4
1 2 5 10
2 1 3
2 2 3
1 2 2 8
1 2 3 7
1 4 4 10
2 1 2
1 4 5 6
2 3 4

Sample Output Copy

15
34
32
33
50

HINT

对于所有数据,$1 \leq n, q \leq 10^6$,$|a_i| \leq 10^6$,$1 \leq l \leq r \leq n$,$|x| \leq 10^6$。

加入题单

算法标签: