Submission #1362189

#TimeUsernameProblemLanguageResultExecution timeMemory
1362189MunkhErdeneFoehn Phenomena (JOI17_foehn_phenomena)C++17
100 / 100
46 ms7372 KiB
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
#define FOR(i, a, b) for (ll i = (a); i < (b); i++)
int main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    ll n, q, s, t; cin >> n >> q >> s >> t;
    ll a[n + 1]; FOR(i, 0, n + 1) cin >> a[i];
    ll d[n + 1] = {0}; FOR(i, 1, n + 1) d[i] = a[i] - a[i - 1];
    ll cur = 0;
    FOR(i, 1, n + 1) {
        if(d[i] > 0) cur -= s * d[i];
        else cur -= t * d[i];
    }
    FOR(i, 0, q) {
        ll l, r, x; cin >> l >> r >> x; r++;
        if(d[l] > 0) cur += s * d[l];
        else cur += t * d[l];
        if(r != n + 1) {
            if(d[r] > 0) cur += s * d[r];
            else cur += t * d[r];
        }
        d[l] += x;
        d[r] -= x;
        if(d[l] > 0) cur -= s * d[l];
        else cur -= t * d[l];
        if(r != n + 1) {
            if(d[r] > 0) cur -= s * d[r];
            else cur -= t * d[r];
        }
        cout << cur << '\n';
    }
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...