#include <bits/stdc++.h>
// Author: Kazuki_Will_Win_VOI_8703
#define fi first
#define se second
#define pii pair<int, int>
#define int long long
#define all(a) a.begin(), a.end()
using namespace std;
const int mn = 2e5 + 5, bm = (1 << 11) + 1, mod = 1e9 + 7, offset = 5e4;
const int inf = 1e18, base = 311;
int n, q, s, t, a[mn], d[mn];
void solve(){
cin >> n >> q >> s >> t;
for(int i = 0; i <= n; i++) cin >> a[i];
int Megumi = 0;
for(int i = 1; i <= n; i++){
d[i] = a[i] - a[i - 1];
if(d[i] < 0) Megumi -= d[i] * t;
else Megumi -= d[i] * s;
}
while(q--){
int l, r, x; cin >> l >> r >> x;
if(d[l] < 0) Megumi += d[l] * t;
else Megumi += d[l] * s;
d[l] += x;
if(d[l] < 0) Megumi -= d[l] * t;
else Megumi -= d[l] * s;
if(r + 1 <= n){
if(d[r + 1] < 0) Megumi += d[r + 1] * t;
else Megumi += d[r + 1] * s;
d[r + 1] -= x;
if(d[r + 1] < 0) Megumi -= d[r + 1] * t;
else Megumi -= d[r + 1] * s;
}
cout << Megumi << '\n';
}
}
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t = 1;
// cin >> t;
while(t--){
solve();
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |