Submission #1229464

#TimeUsernameProblemLanguageResultExecution timeMemory
1229464aren_danceSjeckanje (COCI21_sjeckanje)C++20
55 / 110
2090 ms5140 KiB
#include <bits/stdc++.h>
using namespace std;
long long solve(vector<long long> a){
    int n=a.size();
    vector<long long> dp(n,0);
    long long mxp=-1e18;
    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<long long> 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...