Submission #896382

#TimeUsernameProblemLanguageResultExecution timeMemory
896382goodspeed0208Foehn Phenomena (JOI17_foehn_phenomena)C++14
100 / 100
487 ms13180 KiB
#include<iostream> #include<vector> #include<algorithm> #include<set> #include<map> #include<utility> #define int long long #define INF 1000000000000000000 using namespace std; signed main() { int n, q, s, t; cin >> n >> q >> s >> t; vector<int>v(n+5), dif(n+5); for (int i = 0 ; i <= n ; i++) cin >> v[i]; int ans = 0; for (int i = 0 ; i < n ; i++) { dif[i] = v[i+1] - v[i]; if (dif[i] > 0) ans -= s * dif[i]; else ans += t * (-dif[i]); } //cout << ans << "\n"; int l, r, x; while (q--) { cin >> l >> r >> x; if (dif[l-1] > 0) ans += s * dif[l-1]; else ans -= t * -(dif[l-1]); dif[l-1] += x; if (dif[l-1] > 0) ans -= s * dif[l-1]; else ans += t * -(dif[l-1]); if (r != n) { if (dif[r] > 0) ans += s * dif[r]; else ans -= t * -(dif[r]); dif[r] -= x; if (dif[r] > 0) ans -= s * dif[r]; else ans += t * -(dif[r]); } cout << ans << "\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...