题目描述
有n个格子,从左到右放成一排,编号为1-n。共有m次操作,有3种操作类型:
- 修改一个格子的权值;
- 求连续一段格子权值和;
- 求连续一段格子的最大值。
对于每个2、3操作输出你所求出的结果。
代码如下:
n,m = map(int, input().split())
list1,list2 = [],[]
for i in range(n):
list1.append(int(input()))
for j in range(m):
list2.append(list(map(int, input().split())))
for i in range(len(list2)):
a = list2[i][1] - 1
b = list2[i][2] - 1
if list2[i][0] == 3:
print(max(list1[a:b+1]))
elif list2[i][0] == 2:
print(sum(list1[a:b+1]))
else:
print()