Submission #950403

#TimeUsernameProblemLanguageResultExecution timeMemory
950403irmuunFoehn Phenomena (JOI17_foehn_phenomena)C++17
100 / 100
96 ms13252 KiB
#include<bits/stdc++.h>

using namespace std;

#define ll long long
#define pb push_back
#define ff first
#define ss second
#define all(s) s.begin(),s.end()
#define rall(s) s.rbegin(),s.rend()

int main(){
    ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    ll n,q,s,t;
    cin>>n>>q>>s>>t;
    ll a[n+5],b[n+5],ans=0;
    for(ll i=0;i<=n;i++){
        cin>>a[i];
        if(i>0){
            b[i]=a[i]-a[i-1];
            if(b[i]>=0) ans-=s*b[i];
            else ans-=t*b[i];
        }
    }
    while(q--){
        ll l,r,x;
        cin>>l>>r>>x;
        
        if(b[l]>=0) ans+=s*b[l];
        else ans+=t*b[l];
        b[l]+=x;
        if(b[l]>=0) ans-=s*b[l];
        else ans-=t*b[l];
        
        if(r<n){
            if(b[r+1]>=0) ans+=s*b[r+1];
            else ans+=t*b[r+1];
            b[r+1]-=x;
            if(b[r+1]>=0) ans-=s*b[r+1];
            else ans-=t*b[r+1];
        }
        cout<<ans<<"\n";
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...