Submission #1352953

#TimeUsernameProblemLanguageResultExecution timeMemory
1352953tamerrSjeckanje (COCI21_sjeckanje)C++20
15 / 110
2094 ms2032 KiB
#include "bits/stdc++.h"
using namespace std;
using ll=long long;
using ull=unsigned long long;
#define speed ios_base::sync_with_stdio(false);cin.tie();cout.tie()
#define endl "\n"
#define int ll
#define ff first
#define ss second
#define pb push_back
const int sz = 2e5 + 9;	
const int oo = 1e4 + 7;
const int N = 2e5 + 5;
int powmod(int x, int y){
    if(!y) return 1;
    int res = powmod(x, y / 2);
    if(y % 2 == 1) 
    return res*res*x;
    return res*res;
}
int gcd(int a, int b) {
    if (b == 0)
    return a;
    return gcd(b, a % b); 
}
vector<int>v(N);
void solve(){
    int n,q;
    cin>>n>>q;
    for(int i=0;i<n;i++)
    cin>>v[i];
    while(q--)
    {
        vector<int>dp(n+1,0);
        int l,r,w;
        cin>>l>>r>>w;
        l--,r--;
        for(int i=l;i<=r;i++)
        v[i]+=w;
        for(int i=1;i<=n;i++)
        {
            int maks=v[i-1];
            int mini=v[i-1];
            for(int j=i;j>=1;j--)
            {
                maks=max(maks,v[j-1]);
                mini=min(mini,v[j-1]);
                dp[i]=max(dp[i],dp[j-1]+(maks-mini));
            }
        }
        cout<<dp[n]<<endl;
    }
}
signed main()
{
    speed;
    int tt=1; 
    //cin >> tt;
    while(tt--)
    {    
       solve();
    }
    return 0;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...