#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 = 0;
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... |