3319: 线段树练习3

内存限制:128 MB 时间限制:3.000 S
评测方式:文本比较 命题人:
提交:222 解决:25

题目描述

给你N个数,有两种操作:

1:给区间[a,b]的所有数增加X

2:询问区间[a,b]的数的和。

输入

第一行一个正整数n,接下来n行n个整数,

再接下来一个正整数q,每行表示操作的个数,

如果第一个数是1,后接3个正整数,

表示在区间[a,b]内每个数增加X,如果是2,

表示操作2询问区间[a,b]的和是多少

pascal选手请不要使用readln读入

输出

 对于每个询问输出一行一个答案

样例输入 复制

3
1
2
3
2
1 2 3 2
2 2 3

样例输出 复制

9

提示

对于30%的数据

0 < n, q <= 5000

对于100%的数据

0 < a <= b <= n <= 200000

0 < q <= 200000

0 < 其余所有整数 <= 10^6