Submission #1340461

#TimeUsernameProblemLanguageResultExecution timeMemory
1340461NipphitchFoehn Phenomena (JOI17_foehn_phenomena)C++20
100 / 100
68 ms5708 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=2e5+5;

int n,q,a[N],s,t,ans;

int f(int i){
    if(i-1<0) return 0;
    if(a[i]>0) return (-1)*a[i]*s;
    else return (-1)*a[i]*t;
}

signed main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin >> n >> q >> s >> t;
    for(int i=0;i<=n;i++) cin >> a[i];
    for(int i=n;i>=1;i--) a[i]=a[i]-a[i-1];
    //a[n+1]=0;
    for(int i=1;i<=n;i++) ans+=f(i);
    //cout << ans << "\n";
    while(q--){
        int l,r,d;
        cin >> l >> r >> d;
        //for(int i=0;i<=n+1;i++) cout << a[i] << " ";
        //cout << "\n";
        ans-=((r!=n?f(r+1):0)+f(l));
        a[l]+=d;
        a[r+1]-=d;
        ans+=((r!=n?f(r+1):0)+f(l));
        //for(int i=0;i<=n+1;i++) cout << a[i] << " ";
        //cout << "\n";
        cout << ans << "\n";
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...