Submission #1151905

#TimeUsernameProblemLanguageResultExecution timeMemory
1151905AlgorithmWarriorFoehn Phenomena (JOI17_foehn_phenomena)C++20
100 / 100
76 ms5904 KiB
#include <bits/stdc++.h>

using namespace std;

int const MAX=2e5+5;
int n,q,s,t;
long long v[MAX];

void read(){
    cin>>n>>q>>s>>t;
    int i;
    for(i=0;i<=n;++i)
        cin>>v[i];
    for(i=n;i;--i)
        v[i]-=v[i-1];
}

long long delta(long long val){
    if(val>0)
        return -1LL*s*val;
    else
        return -1LL*t*val;
}

void process_queries(){
    long long temp=0;
    int i;
    for(i=1;i<=n;++i)
        temp+=delta(v[i]);
    while(q--){
        int l,r,d;
        cin>>l>>r>>d;
        temp-=delta(v[l]);
        v[l]+=d;
        temp+=delta(v[l]);
        if(r<n){
            temp-=delta(v[r+1]);
            v[r+1]-=d;
            temp+=delta(v[r+1]);
        }
        cout<<temp<<'\n';
    }
}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    read();
    process_queries();
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...