PivotOJ

Sjeckanje

시간 제한: 2000ms메모리 제한: 512MB출처: COCI 2020-2021BOJ 20963

문제

Paula likes to prepare stir fry. In order to make it as yummy as possible, she needs to chop a sequence of n integers into segments of the maximum total value.

The value of a segment is the difference of its maximum and minimum. The value of a chopped sequence is the sum of the values of the segments.

For example if we chop the sequence [1 4 1 5 3 6] into segments [1 4 1] and [5 3 6], the total value is (4 − 1) + (6 − 3) = 6.

There will be q updates of the form “add x to the elements on indices l, l + 1, . . . , r”. After each update, answer the query “What is the maximum possible value of the chopped sequence?”.

입력

The first line contains integers n and q (1 ≤ n, q ≤ 200 000), the length of the sequence and the number of updates.

The second line contains n integers ai (−108 ≤ ai ≤ 108), the sequence Paula needs to chop. Each of the following q lines contains integers l, r (1 ≤ l ≤ r ≤ n), and x (−108 ≤ x ≤ 108), describing an update.

출력

Output q lines, the maximum possible value of the sequence after each update.

예제

예제 1

입력
4 3
1 2 3 4
1 2 1
1 1 2
2 3 1
출력
2
2
0

예제 2

입력
4 3
2 0 2 1
4 4 1
2 2 3
1 3 2
출력
2
1
3
코드를 제출하려면 로그인하세요.