#include<bits/stdc++.h>
using namespace std;
#define S second
#define F first
#define ll long long
//#define int long long
//#pragma GCC optimize("Ofast, unroll-loop")
//#pragma GCC target("avx,avx2")
#pragma GCC optimize("O3")
const int inf=0x3f3f3f3f;
const ll inff=0x3f3f3f3f3f3f3f3f;
//const int X=1000000007;
const int X=998244353;
int a[200005];
ll d[200005];
signed main(){
ios::sync_with_stdio(0), cin.tie(0);
int n, q, s, t; cin >> n >> q >> s >> t;
for(int i=0 ; i<=n ; i++){
cin >> a[i];
d[i]=a[i]-a[i-1];
}
auto cal=[&](int i)->ll{
if(d[i]>0) return -1LL*s*d[i];
return -1LL*t*d[i];
};
ll ans=0;
for(int i=1 ; i<=n ; i++) ans+=cal(i);
//cout << ans << '\n';
while(q--){
int l, r, x; cin >> l >> r >> x;
ans-=cal(l);
if(r+1<=n) ans-=cal(r+1);
d[l]+=x, d[r+1]-=x;
ans+=cal(l);
if(r+1<=n) ans+=cal(r+1);
cout << ans << '\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... |