Submission #1180003

#TimeUsernameProblemLanguageResultExecution timeMemory
1180003miniobFoehn Phenomena (JOI17_foehn_phenomena)C++20
100 / 100
181 ms7272 KiB
#include <bits/stdc++.h> using namespace std; long long a[200007]; long long diff[200007]; int main() { ios::sync_with_stdio(0); cin.tie(0); long long n, q, s, t; cin >> n >> q >> s >> t; for (long long i = 0; i <= n; i++) { cin >> a[i]; } for (long long i = 1; i <= n; i++) { diff[i] = a[i] - a[i-1]; } long long ans = 0; for (long long i = 1; i <= n; i++) { if (diff[i] > 0) { ans += -s * diff[i]; } else { ans += t * (-diff[i]); } } while (q--) { long long l, r, x; cin >> l >> r >> x; if (diff[l] > 0) { ans -= -s * diff[l]; } else { ans -= t * (-diff[l]); } diff[l] += x; if (diff[l] > 0) { ans += -s * diff[l]; } else { ans += t * (-diff[l]); } if (r < n) { if (diff[r+1] > 0) { ans -= -s * diff[r+1]; } else { ans -= t * (-diff[r+1]); } diff[r+1] -= x; if (diff[r+1] > 0) { ans += -s * diff[r+1]; } else { ans += t * (-diff[r+1]); } } cout << ans << endl; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...