Submission #1212485

#TimeUsernameProblemLanguageResultExecution timeMemory
1212485VMaksimoski008Foehn Phenomena (JOI17_foehn_phenomena)C++17
100 / 100
337 ms7348 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; signed main() { ll n, q, s, t, ans = 0; cin >> n >> q >> s >> t; vector<ll> a(n+1), d(n+1); for(int i=0; i<=n; i++) { cin >> a[i]; if(i > 0) { d[i] = a[i] - a[i-1]; if(d[i] > 0) ans -= d[i] * s; else ans += abs(d[i]) * t; } } auto upd = [&](int p, int x) { ans += d[p] * (d[p] > 0 ? s : t); d[p] += x; ans -= d[p] * (d[p] > 0 ? s : t); }; while(q--) { int l, r, x; cin >> l >> r >> x; upd(l, x); if(r != n) upd(r+1, -x); cout << ans << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...