#include<bits/stdc++.h>
#define f0r(i,n) for(int i = 0; i<n; i++)
#define pb push_back
#define vi vector<long long int>
#define ll long long int
#define mp make_pair
#define pii pair<ll,ll>
#define FOR(i, k, n) for(int i = k; i<n; i++)
using namespace std;
int main(){
	int n; cin>>n; int q; cin>>q;
	vi v(n);
	f0r(i,n)cin>>v[i];
	while(q--){
		int l,r,x;
		cin>>l>>r>>x;
		l--; r--;
		FOR(i, l, r+1)v[i]+=x;
		vector<vi>dp(n, vi(n));
		vi mx(n);
		FOR(i, 1, n){
			ll rmx = -1e9;
			ll rmn = 1e9;
			for(int j = i; j>=0; j--){
				rmx = max(rmx, v[j]);
				rmn = min(rmn, v[j]);
				if(j == 0){
					dp[i][j] = rmx - rmn;
				}
				else{
					dp[i][j] = mx[j-1] + rmx - rmn;
				}
			}
			f0r(j, n){
				mx[i] = max(mx[i], dp[i][j]);
			}
		}
		cout<<mx[n-1]<<'\n';
	}	
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |