#include <iostream>
#include <vector>

using namespace std;

int main()
{
    int N,Q;
    long long S,T;

    cin >> N >> Q >> S >> T;

    vector<long long> A;

    for(int i=0; i<=N; ++i) {
        long long temp,before;
        cin >> temp;
        if(i==0) {
            A.push_back(temp);
            before=temp;
        }
        else {
            A.push_back(temp-before);
            before=temp;
        }
    }

    long long temp=0;

    for(int i=1; i<=N; ++i) {
        if(A[i]>0) temp-=S*A[i];
        else temp-=T*A[i];
    }

    for(int j=0; j<Q; ++j) {
        long long l,r,x,a;
        cin >> l >> r >> x;

        a=A[l];
        if(a>0) temp+=S*a;
        else temp+=T*a;

        A[l]+=x;
        if(A[l]>0) temp-=S*A[l];
        else temp-=T*A[l];

        if(r<N) {
            a=A[r+1];
            if(a>0) temp+=S*a;
            else temp+=T*a;

            A[r+1]-=x;
            if(A[r+1]>0) temp-=S*A[r+1];
            else temp-=T*A[r+1];
        }

        cout << temp << endl;
    }

    return 0;
}