#XDS201. 【模板】线段树

【模板】线段树

题目描述

给定一个数列 aa,包含元素 a1,a2,...,ana_1,a_2,...,a_n,你需要完成两种操作共 qq 次:

1 x y k :表示将 区间 [x,y][x,y] 所有元素加上 kk

2 x y:表示求区间 [x,y][x,y] 元素之和

输入格式

第一行两个整数 n,qn,q,数据保证 1n,q1×1051 ≤ n,q ≤ 1×10^5

第二行 nn 个整数 aia_i

接下来 qq 行,每行三个整数,表示一个具体的操作。

输出格式

对于每一个操作 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

数据规模与约定

对于 100%100\% 的数据,1n,q1051\le n,q \leq 10^51xyn1\le x \le y \le n1ai,k1061≤a_i,k≤10^6