#include <vector>
#include <iostream>
#include <functional>
using namespace std;
int main() {
	cin.tie(0);
	ios_base::sync_with_stdio(false);
	int N, Q; long long S, T;
	cin >> N >> Q >> S >> T;
	function<long long(long long)> diff = [&](long long x) {
		if (x >= 0) return -(x * S);
		return -(x * T);
	};
	vector<long long> A(N + 1);
	for (int i = 0; i <= N; ++i) cin >> A[i];
	vector<int> L(Q), R(Q);
	vector<long long> X(Q);
	for (int i = 0; i < Q; ++i) cin >> L[i] >> R[i] >> X[i], --L[i];
	vector<long long> D(N);
	for (int i = 0; i < N; ++i) D[i] = A[i + 1] - A[i];
	long long sum = 0;
	for (int i = 0; i < N; ++i) {
		sum += diff(D[i]);
	}
	for (int i = 0; i < Q; ++i) {
		sum -= diff(D[L[i]]); D[L[i]] += X[i]; sum += diff(D[L[i]]);
		if (R[i] != N) {
			sum -= diff(D[R[i]]); D[R[i]] -= X[i]; sum += diff(D[R[i]]);
		}
		cout << sum << '\n';
	}
	return 0;
}
