Submission #1229401

#TimeUsernameProblemLanguageResultExecution timeMemory
1229401aren_danceSjeckanje (COCI21_sjeckanje)C++20
0 / 110
1 ms320 KiB
#include <bits/stdc++.h>
using namespace std;
long long solve(vector<int> a){
    int n=a.size();
    vector<long long> dp(n,0);
    long long mxp=0;
    long long mxm=-1e18;
    for(int i=1;i<n;++i){
        dp[i]=dp[i-1];
        dp[i]=max(dp[i],mxp-a[i]);
        dp[i]=max(dp[i],mxm+a[i]);
        mxp=max(mxp,dp[i-1]+a[i]);
        mxm=max(mxm,dp[i-1]-a[i]);
    }
    return dp[n-1];
}
int main()
{
    int n,q;
    cin>>n>>q;
    vector<int> a(n+1);
    for(int i=1;i<=n;++i){
        cin>>a[i];
    }
    while(q--){
        int l,r,x;
        cin>>l>>r>>x;
        for(int i=l;i<=r;++i){
            a[i]+=x;
        }
        cout<<solve(a)<<'\n';
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...