Submission #1179584

#TimeUsernameProblemLanguageResultExecution timeMemory
1179584user736482Foehn Phenomena (JOI17_foehn_phenomena)C++20
100 / 100
62 ms7308 KiB
#pragma GCC optimize("O3") #include <bits/stdc++.h> using namespace std; #define ll long long #define ld long double #define pb push_back #define ff first #define ss second #define MOD 1000000009 #define INF 1000000019 #define INFL 1000000000000000099LL ll n,q,s,t,a,b,c,ans; ll co[1000007],dif[1000007]; int main() { ios_base::sync_with_stdio(0);cin.tie(0); cin>>n>>q>>t>>s; n++; for(ll i=0;i<n;i++){ cin>>co[i]; } for(ll i=0;i<n-1;i++){ dif[i]=co[i]-co[i+1]; if(dif[i]>0){ ans+=dif[i]*s; } else ans+=dif[i]*t; } // cout<<ans; for(ll i=0;i<q;i++){ // for(ll j=0;j<=n;j++)cout<<dif[j]<<" "; cin>>a>>b>>c; a--; b--; if(dif[a]>0){ ans-=dif[a]*s; } else ans-=dif[a]*t; if(dif[b+1]>0){ ans-=dif[b+1]*s; } else ans-=dif[b+1]*t; dif[a]-=c; if(b+1<n-1) dif[b+1]+=c; // cout<<ans; if(dif[a]>0){ ans+=dif[a]*s; } else ans+=dif[a]*t; if(dif[b+1]>0){ ans+=dif[b+1]*s; } else ans+=dif[b+1]*t; cout<<ans<<"\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...