Submission #1051560

#TimeUsernameProblemLanguageResultExecution timeMemory
1051560alex_2008Foehn Phenomena (JOI17_foehn_phenomena)C++14
100 / 100
357 ms7344 KiB
#include <iostream> #include <vector> #include <algorithm> #include <stack> using namespace std; typedef long long ll; const int N = 2e5 + 10; ll h[N], a[N]; int main() { ll n, q, s, t; cin >> n >> q >> s >> t; for (int i = 0; i <= n; i++) { cin >> h[i]; } ll cur_s = 0, cur_t = 0; for (int i = 1; i <= n; i++) { a[i] = h[i] - h[i - 1]; if (a[i] > 0) cur_s += a[i]; else cur_t += (-a[i]); } while (q--) { ll l, r, x; cin >> l >> r >> x; if (a[l] > 0) cur_s -= a[l]; else cur_t -= (-a[l]); a[l] += x; if (a[l] > 0) cur_s += a[l]; else cur_t += (-a[l]); if (r != n) { if (a[r + 1] > 0) cur_s -= a[r + 1]; else cur_t -= (-a[r + 1]); a[r + 1] -= x; if (a[r + 1] > 0) cur_s += a[r + 1]; else cur_t += (-a[r + 1]); } cout << cur_t * 1ll * t - cur_s * 1ll * s << "\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...