#include<iostream>
using namespace std;
long long ct(long long);
int N, Q, S, T;
int main() {
	cin >> N >> Q >> S >> T;
	long long *line;
	line = new long long[N + 1];
	int bh,nh;
	cin >> bh;
	line[0] = 0;
	long long ans = 0;
	for (int i = 1; i <= N; ++i) {
		cin >> nh;
		line[i] = nh - bh;
		ans += ct(line[i]);
		bh = nh;
	}
	int fr, to, ho;
	for (int i = 0; i < Q; ++i) {
		cin >> fr >> to >> ho;
		ans -= ct(line[fr]);
		line[fr] += ho;
		ans += ct(line[fr]);
		if (to != N) {
			ans -= ct(line[to + 1]);
			line[to + 1] -= ho;
			ans += ct(line[to + 1]);
		}
		cout << ans << endl;
	}
	return 0;
}
long long ct(long long high) {
	long long res;
	if (high > 0) {
		res = (long long)high*S;
	}
	else {
		res = (long long)high*T;
	}
	return -res;
}