#include <iostream>
using namespace std;
int a[200005];
long long f[200005];
int main() {
ios::sync_with_stdio(false);
int n,q,s,t;
cin >> n >> q >> s >> t;
for(int i=0;i<=n;i++) {
cin >> a[i];
}
long long b = 0;
for(int i=1;i<=n;i++) {
f[i] = a[i] - a[i-1];
if(f[i] > 0) b -= s*f[i];
if(f[i] < 0) b -= t*f[i];
}
for(int i=1;i<=q;i++) {
int x,y,z,mul_1,mul_2;
//for(int j=1;j<=n;j++) cout << f[j] << " ";
cin >> x >> y >> z;
mul_1 = f[x] < 0 ? t : s;
mul_2 = f[x]+z < 0 ? t : s;
b += mul_1*f[x];
b -= mul_2*(f[x]+z);
f[x] += z;
if(y != n) {
mul_1 = f[y+1] < 0 ? t : s;
mul_2 = f[y+1]-z < 0 ? t : s;
b += mul_1*f[y+1];
b -= mul_2*(f[y+1]-z);
f[y+1] -= z;
}
cout << b << endl;
}
return 0;
}
using namespace std;
int a[200005];
long long f[200005];
int main() {
ios::sync_with_stdio(false);
int n,q,s,t;
cin >> n >> q >> s >> t;
for(int i=0;i<=n;i++) {
cin >> a[i];
}
long long b = 0;
for(int i=1;i<=n;i++) {
f[i] = a[i] - a[i-1];
if(f[i] > 0) b -= s*f[i];
if(f[i] < 0) b -= t*f[i];
}
for(int i=1;i<=q;i++) {
int x,y,z,mul_1,mul_2;
//for(int j=1;j<=n;j++) cout << f[j] << " ";
cin >> x >> y >> z;
mul_1 = f[x] < 0 ? t : s;
mul_2 = f[x]+z < 0 ? t : s;
b += mul_1*f[x];
b -= mul_2*(f[x]+z);
f[x] += z;
if(y != n) {
mul_1 = f[y+1] < 0 ? t : s;
mul_2 = f[y+1]-z < 0 ? t : s;
b += mul_1*f[y+1];
b -= mul_2*(f[y+1]-z);
f[y+1] -= z;
}
cout << b << endl;
}
return 0;
}