#Lutece2156. 数理统计
数理统计
Migrated from Lutece 2156 数理统计
All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.
Description
被概率论整的死去活来的forgottencsc
总算开始学数理统计了。他不想做作业,所以把作业丢给了你。
你需要对一个长度为的数列做以下三种操作。
-
将下标在区间内的数全部加上一个定值。
-
将下标在区间内的数加起来并输出。
-
统计下标在区间内的数的极差(最大值与最小值的差)。
数列中的数在开始时全为0。
Input
第一行有两个数,代表数列长度和操作次数
接下来的行,每行最开始有一个数。
若,则接下来有三个数,代表一次操作1。
若,则接下来有两个数,代表一次操作2。
若,则接下来有两个数,代表一次操作3。
Output
对于每一个操作2或3,你需要输出相应的结果。
Samples
3 4
1 1 1 10
1 3 3 -10
2 1 3
3 1 3
0
20
Constraints
Note
时限有点紧,请注意常数优化。(仍然是标程的两倍以上,而且标程用的是cin/cout)
读入数据量巨大,请使用scanf/printf。
仍想使用cin/cout的选手请在程序开头加上ios::sync_with_stdio(false); cin.tie(0);
有同学反映用%I64d输出long long会导致WA,请考虑使用%lld。
Resources
2019 UESTC ACM Training for Data Structures