제출 #1123951

#제출 시각아이디문제언어결과실행 시간메모리
1123951njoopFoehn Phenomena (JOI17_foehn_phenomena)C++17
100 / 100
434 ms7364 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;

int n, q, s, t, ans, arr[200010], dif[200010], l, r, x;

int find(int num) {
    if(num > 0) return num*t;
    else return num*s;
}

signed main() {
    cin >> n >> q >> s >> t;
    n++;
    for(int i=1; i<=n; i++) {
        cin >> arr[i];
    }
    for(int i=2; i<=n; i++) {
        dif[i-1] = arr[i-1]-arr[i];
        ans += find(dif[i-1]);
    }
    while(q--) {
        cin >> l >> r >> x;
        l++;
        r++;
        if(l != 1) {
            ans -= find(dif[l-1]);
            dif[l-1] -= x;
            ans += find(dif[l-1]); 
        }
        if(r < n) {
            ans -= find(dif[r]);
            dif[r] += x;
            ans += find(dif[r]);
        }
        cout << ans << "\n";
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...