Submission #655019

#TimeUsernameProblemLanguageResultExecution timeMemory
655019onevoltmanStove (JOI18_stove)C++17
0 / 100
0 ms212 KiB
#include <bits/stdc++.h> using namespace std; #define MAXN 200200 typedef long long ll; ll delta[MAXN], s, t, last, pos, neg; int n, q; void upd(int p, ll d){ if(p<1 or p>n) return; if(delta[p]>0) pos-=delta[p]; else neg+=delta[p]; delta[p]+=d; if(delta[p]>0) pos+=delta[p]; else neg-=delta[p]; } int main(){ cin >> n >> q >> s >> t; for(int i=0;i<=n;i++){ cin >> delta[i]; delta[i]-=last; if(delta[i]>0) pos+=delta[i]; else neg-=delta[i]; last+=delta[i]; } for(int i=0;i<q;i++){ int l, r; ll d; cin >> l >> r >> d; upd(l,d), upd(r+1,-d); cout << ll(neg*t-pos*s) << "\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...