Submission #51475

#TimeUsernameProblemLanguageResultExecution timeMemory
51475kotorinFoehn Phenomena (JOI17_foehn_phenomena)C++17
100 / 100
888 ms7444 KiB
#include <iostream>

long long A[200001];
long long chk[200001];

long long sum = 0;
long long n, q, s, t;

inline long long calc(long long x)
{
    return (x < 0 ? x * s : x * t);
}

int main()
{
    std::cin >> n >> q >> s >> t;
    for (long long i = 0; i <= n; ++i)
    {
        std::cin >> A[i];
    }
    for (long long i = 1; i <= n; ++i)
    {
        chk[i] = A[i - 1] - A[i];
        sum += calc(chk[i]);
    }

    while (q-- > 0)
    {
        long long l, r, x;
        std::cin >> l >> r >> x;
        if (l > 0)
        {
            sum -= calc(chk[l]);
            chk[l] -= x;
            sum += calc(chk[l]);
        }
        if (r < n)
        {
            sum -= calc(chk[r + 1]);
            chk[r + 1] += x;
            sum += calc(chk[r + 1]);
        }
        std::cout << sum << '\n';
    }

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...