#P1034. 【模板】线段树 2

【模板】线段树 2

Description

维护一棵线段树,支持以下 $2$ 种操作:

    $1.$ 区间加。

    $2.$ 区间和。

Input Format

第一行两个整数 $n,m$ 分别表示序列大小和操作次数。

第二行 $n$ 个整数表示 $a_i$。

接下来 $m$ 行,表示一个操作,可能是以下两种:

    $1.$ 1 l r v $a_i=a_i+v(i\in[l,r])$

    $2.$ 2 l r 求 $\sum\limits_{i=l}^r a_i$。

Output Format

输出若干行,每行一个整数表示操作 $2$ 的结果。
5 5
1 5 4 2 3
2 2 4
1 2 3 2
2 3 4
1 1 5 1
2 1 4
11
8
20

Hint

$1≤n,m≤10^6,1≤a_i,v≤10^9$

Source

模板