Submission #1308076

#TimeUsernameProblemLanguageResultExecution timeMemory
1308076wangzhiyi33Foehn Phenomena (JOI17_foehn_phenomena)C++20
100 / 100
200 ms7308 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long 
int n,qu,s,t;

int brp(int a){
    if(a>0)return -a*s;
    return -a*t;
}

signed main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    cin>>n>>qu>>s>>t;
    int a[n+1];

    for(int q=0;q<=n;q++)cin>>a[q];
    int diff[n+1];
    int ans=0;

    for(int q=1;q<=n;q++){
        diff[q]=a[q]-a[q-1];
        ans+=brp(diff[q]);
    }

    while(qu--){
        int l,r,x;
        cin>>l>>r>>x;
        // l ke l-1
        ans-=brp(diff[l]);
        diff[l]+=x;
        ans+=brp(diff[l]);

        if(r!=n){
            // r ke r+1
            ans-=brp(diff[r+1]);
            diff[r+1]-=x;
            ans+=brp(diff[r+1]);
        }
        cout<<ans<<endl;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...