Submission #1258769

#TimeUsernameProblemLanguageResultExecution timeMemory
1258769khanhanFoehn Phenomena (JOI17_foehn_phenomena)C++20
100 / 100
295 ms7328 KiB
#include <bits/stdc++.h> using namespace std; long long h[2000005]; long long d[2000005]; int main() { long long n, q, s, t; cin >> n >> q >> s >> t; for (long long i = 0; i <= n; i++) { cin >> h[i]; } for (long long i = 0; i <= n - 1; i++) { d[i] = h[i + 1] - h[i]; } long long domet =0 ; for (long long i = 0; i < n; i++) { if (d[i] < 0) { domet += t * abs(d[i]); } else { domet -= s * abs(d[i]); } } while (q--) { long long l, r, x; cin >> l >> r >> x; if (l - 1 >= 0) { if (d[l - 1] >= 0) { domet += s * abs(d[l - 1]); } else { domet -= t * abs(d[l - 1]); } d[l - 1] += x; if (d[l - 1] > 0) { domet -= s * abs(d[l - 1]); } else { domet += t * abs(d[l - 1]); } } if (r <= n - 1) { if (d[r] > 0) { domet += s * abs(d[r]); } else { domet -= t * abs(d[r]); } d[r] -= x; if (d[r]>0){ domet -= s* abs(d[r]) ; }else { domet += t*abs(d[r]); } } cout <<domet<<endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...