Submission #1308114

#TimeUsernameProblemLanguageResultExecution timeMemory
1308114shirokitoFoehn Phenomena (JOI17_foehn_phenomena)C++20
100 / 100
67 ms6668 KiB
#include <bits/stdc++.h> using namespace std; #define all(a) (a).begin(), (a).end() using ll = long long; const int N = 2e5 + 24; int n, q, s, t, a[N]; ll diff[N], sum_pos, sum_neg; void update(int i, ll x) { if (diff[i] > 0) sum_pos -= diff[i]; else sum_neg -= -diff[i]; diff[i] += x; if (diff[i] > 0) sum_pos += diff[i]; else sum_neg += -diff[i]; } void solve() { cin >> n >> q >> s >> t; for (int i = 0; i <= n; i++) { cin >> a[i]; if (i) diff[i] = a[i] - a[i - 1]; } for (int i = 1; i <= n; i++) { if (diff[i] > 0) sum_pos += diff[i]; else sum_neg += -diff[i]; } while (q--) { int l, r, x; cin >> l >> r >> x; update(l, x); if (r < n) update(r + 1, -x); cout << sum_neg * t - sum_pos * s << '\n'; } } signed main() { cin.tie(0) -> sync_with_stdio(0); int T = 1; // cin >> T; while (T--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...