Submission #1267486

#TimeUsernameProblemLanguageResultExecution timeMemory
1267486WH8Foehn Phenomena (JOI17_foehn_phenomena)C++20
100 / 100
348 ms7296 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pll pair<int, int> #define mp make_pair #define pb push_back #define f first #define s second #define endl '\n' signed main(){ int n,q,s,t; cin>>n>>q>>s>>t; vector<int> v(n+5,0), d(n+5, 0); int ans=0; for(int i=0;i<=n;i++){ cin>>v[i]; if(i > 0){ d[i]=v[i]-v[i-1]; if(d[i] >= 0){ans-=s*d[i];} else {ans+=-t*d[i];} } } //~ cout<<"ans is "<<ans<<endl; while(q--){ int l,r,x,i;cin>>l>>r>>x; i=l; if(d[i] >= 0){ans+=s*d[i];} else {ans-=-t*d[i];} d[i]+=x; if(d[i] >= 0){ans-=s*d[i];} else {ans+=-t*d[i];} //~ printf("after balancing l, ans is %lld\n", ans); if(r < n){ i=r+1; if(d[i] >= 0){ans+=s*d[i];} else {ans-=-t*d[i];} d[i]-=x; if(d[i] >= 0){ans-=s*d[i];} else {ans+=-t*d[i];} } //~ int sm=0; //~ cout<<endl<<"sm is \n"; //~ for(int i=0;i<=n;i++){ //~ sm+=d[i]; //~ cout<<sm<<" "; //~ } //~ cout<<endl<<"d is \n"; //~ for(int i=0;i<=n;i++){ //~ cout<<d[i]<<" "; //~ } //~ cout<<endl; cout<<ans<<"\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...