Submission #1249170

#TimeUsernameProblemLanguageResultExecution timeMemory
1249170gry3125Foehn Phenomena (JOI17_foehn_phenomena)C++20
100 / 100
300 ms7252 KiB
#include <bits/stdc++.h> #define pb push_back #define ll long long int #define all(v) (v).begin(),(v).end() #define fi first #define se second using namespace std; int main() { ll N, Q, S, T; cin >> N >> Q >> S >> T; vector<ll> a(N+1), d(N+1); cin >> a[0]; for (int i = 1; i <= N; i++) { cin >> a[i]; d[i] = a[i] - a[i-1]; } ll cur = 0; for (int i = 1; i <= N; i++) { if (d[i] > 0) cur -= S*d[i]; else cur -= T*d[i]; } while (Q--) { int L, R; ll X; cin >> L >> R >> X; if (d[L] > 0) cur += S*d[L]; else cur += T*d[L]; d[L] += X; if (R+1 <= N) { if (d[R+1] > 0) cur += S*d[R+1]; else cur += T*d[R+1]; d[R+1] -= X; } if (d[L] > 0) cur -= S*d[L]; else cur -= T*d[L]; if (R+1 <= N) { if (d[R+1] > 0) cur -= S*d[R+1]; else cur -= T*d[R+1]; } cout << cur << "\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...