Submission #332864

#TimeUsernameProblemLanguageResultExecution timeMemory
332864limabeansFoehn Phenomena (JOI17_foehn_phenomena)C++17
100 / 100
134 ms13164 KiB
#include <bits/stdc++.h> using namespace std; template<typename T> void out(T x) { cout << x << endl; exit(0); } #define watch(x) cout << (#x) << " is " << (x) << endl using ll = long long; const int maxn = 1e6 + 5; ll n,q,s,t; ll a[maxn]; ll diff[maxn]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>n>>q>>s>>t; for (int i=0; i<=n; i++) { cin>>a[i]; } auto get = [&](ll dx) { if (dx>0) { return -abs(dx)*s; } else { return +abs(dx)*t; } }; ll res = 0; for (int i=1; i<=n; i++) { diff[i] = a[i]-a[i-1]; res += get(diff[i]); } while (q--) { ll l,r,x; cin>>l>>r>>x; res -= get(diff[l]); diff[l] += x; res += get(diff[l]); if (r<n) { res -= get(diff[r+1]); diff[r+1] -= x; res += get(diff[r+1]); } cout<<res<<"\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...