#C. 序列

    Type: Default 2000ms 512MiB

序列

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

定义一个序列的权值为这个序列的最大值减去最小值。

定义一个序列的分割权值和为将这个序列分成若干段(段数可以为 11)后,所有段的权值和的最大值。

举个例子:[4,3,3,4][4,3,3,4] 的分割权值和为分成 [4,3],[3,4][4,3],[3,4] 两段,即为 22

现有一个长为 nn 的序列 aa,有 qq 次操作,每次操作将所有 i[l,r]i\in[l,r],将 aia_i 加上 xx(换言之,将 al,al+1,,ara_l, a_{l+1}, \dots, a_r 分别加上 xx),在每次操作之后,你需要求出这个序列的分割权值和。

输入格式

第一行为两个整数 n,qn,q

接下来一行 nn 个整数 aia_i,表示初始序列 aa

接下来 qq 行,每行三个整数 l,r,xl,r,x,表示这次的操作要将所有 i[l,r]i\in[l,r],将 aia_i 加上 xx

输出格式

对于每次修改输出一行,表示您求出的这个序列的分割权值和。

4 3
1 2 3 4
1 2 1
1 1 2
2 3 1
2
2
0

分割方式如下:

  • 第一次修改后:[2,3,3,4][2,3,3,4]
  • 第二次修改后:[4,3][3,4][4,3][3,4]
  • 第三次修改后:[4,4,4,4][4,4,4,4]
4 3
2 0 2 1
4 4 1
2 2 3
1 3 2
2
1
3

数据范围

对于所有子任务,有 1n,q2×1051\le n,q\le 2\times 10^5108ai,x108-10^8\le a_i,x\le 10^81lrn1\le l\le r\le n

子任务编号 特殊限制 分值
11 n,q200n,q\le 200 2020
22 n,q3×103n,q\le 3\times 10^3 3535
33 4545

COCI 21.2

Not Attended
Status
Done
Rule
IOI
Problem
3
Start at
2023-7-7 14:15
End at
2023-7-7 17:15
Duration
3 hour(s)
Host
Partic.
18