1141.操作格子
Status Time Memory Lang. Submit Date

1141.操作格子

Time Limit:1000MS  Memory Limit:65535KB
Description

有n个格子,从左到右放成一排,编号为1-n。
共有m次操作,有3种操作类型:
1.修改一个格子的权值,
2.求连续一段格子权值和,
3.求连续一段格子的最大值。
对于每个2、3操作输出你所求出的结果。

Input

第一行2个整数n,m。
接下来一行n个整数表示n个格子的初始权值。
接下来m行,每行3个整数p,x,y,p表示操作类型,p=1时表示修改格子x的权值为y,p=2时表示求区间[x,y]内格子权值和,p=3时表示求区间[x,y]内格子最大的权值。
其中:1 <= n <= 100000,m <= 100000,0 <= 格子权值 <= 10000

Output

有若干行,行数等于p=2或3的操作总数。
每行1个整数,对应了每个p=2或3操作的结果。

Sample test
Sample input
4 3
1 2 3 4
2 1 3
1 4 3
3 1 4
Sample output
6
3
Note
Tags
Post editorial
Editorials
Login before submit
Test Input
Test Output
Console
IDE Setting
  • 字体设置
    调整适合你的字体大小。
  • 主题设置
    切换不同的代码编辑器主题,选择适合你的语法高亮。
  • 行宽限制
    设置每一行代码的最大字符个数,设置为0则不限制。