#include <bits/stdc++.h>
using namespace std;
using ll = long long;
signed main() {
ll n, q, s, t, ans = 0;
cin >> n >> q >> s >> t;
vector<ll> a(n+1), d(n+1);
for(int i=0; i<=n; i++) {
cin >> a[i];
if(i > 0) {
d[i] = a[i] - a[i-1];
if(d[i] > 0) ans -= d[i] * s;
else ans += abs(d[i]) * t;
}
}
auto upd = [&](int p, int x) {
ans += d[p] * (d[p] > 0 ? s : t);
d[p] += x;
ans -= d[p] * (d[p] > 0 ? s : t);
};
while(q--) {
int l, r, x; cin >> l >> r >> x;
upd(l, x);
if(r != n) upd(r+1, -x);
cout << ans << '\n';
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |