#include<bits/stdc++.h>
using namespace std;
using ll = long long;
int n, q;
ll s, t;
ll f(ll x) {
if(x > 0) return x * s;
else return x * t;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> q >> s >> t;
ll a[n + 1];
for(int i = 0; i <= n; i++) {
cin >> a[i];
}
ll diff = 0, dif[n + 2] {};
for(int i = 1; i <= n; i++) {
dif[i] = a[i] - a[i - 1];
if(a[i] >= a[i - 1]) diff += (a[i] - a[i - 1]) * -s;
else diff += (a[i - 1] - a[i]) * t;
}
// cout << diff << '\n';
while(q--) {
int l, r;
ll val;
cin >> l >> r >> val;
diff += f(dif[l]);
dif[l] += val;
diff -= f(dif[l]);
r++;
if(r <= n) {
diff += f(dif[r]);
dif[r] -= val;
diff -= f(dif[r]);
}
cout << diff << '\n';
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |