Submission #1185052

#TimeUsernameProblemLanguageResultExecution timeMemory
1185052WarinchaiFoehn Phenomena (JOI17_foehn_phenomena)C++20
100 / 100
61 ms7240 KiB
#include<bits/stdc++.h>
#define int long long
using namespace std;
int h[200005];
int dif[200005];
int n,q,s,t;
int get(int x){
    if(x>=0)return -x*s;
    else return -x*t;
}
int32_t main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cin>>n>>q>>s>>t;
    int ans=0;
    for(int i=0;i<=n;i++)cin>>h[i];
    for(int i=0;i<n;i++)dif[i]=h[i+1]-h[i],ans+=get(dif[i]);
    for(int i=0;i<q;i++){
        int l,r,x;cin>>l>>r>>x;
        if(l!=0)ans-=get(dif[l-1]),dif[l-1]+=x,ans+=get(dif[l-1]);
        if(r!=n)ans-=get(dif[r]),dif[r]-=x,ans+=get(dif[r]);
        cout<<ans<<"\n";
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...