Submission #1290309

#TimeUsernameProblemLanguageResultExecution timeMemory
1290309hahaFoehn Phenomena (JOI17_foehn_phenomena)C++20
0 / 100
62 ms4600 KiB
#include <bits/stdc++.h>
#define f first
#define s second
#define ll long long
using namespace std;
const int maxn=2e5+5;
const int INF=1e9;

int n,q,s,t;
int a[maxn],diff[maxn];

ll calc(int val)
{
    if(val<0) return -val*t;
    else return -val*s;
}

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    cin>>n>>q>>s>>t;
    for(int i=0;i<=n;i++) cin>>a[i];
    ll ans=0;
    for(int i=1;i<=n;i++){
        diff[i]=a[i]-a[i-1];
        ans+=calc(diff[i]);
    }
    while(q--){
        int l,r,x;
        cin>>l>>r>>x;
        ans-=calc(diff[l]);
        diff[l]+=x;
        ans+=calc(diff[l]);
        if(r<n){
            ans-=calc(diff[r+1]);
            diff[r+1]-=x;
            ans+=calc(diff[r+1]);
        }
        cout<<ans<<'\n';
    }
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...