Submission #1279905

#TimeUsernameProblemLanguageResultExecution timeMemory
1279905peanutFoehn Phenomena (JOI17_foehn_phenomena)C++20
0 / 100
67 ms4556 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    ios::sync_with_stdio(false); cin.tie(0);

    int n, q, s, t;
    cin >> n >> q >> s >> t;
    vector<int> a(n+1);
    for (int &i : a) cin >> i;

    long long curtemp = 0;
    vector<int> diff(n+1);
    for (int i = 0; i < n; ++i)
    {
        diff[i] = a[i] - a[i+1];
        if (diff[i] < 0) curtemp += s*diff[i];
        else curtemp += t*diff[i];
    }

    while (q--)
    {
        int l, r, x; cin >> l >> r >> x;

        if (diff[l-1] >= 0 && diff[l-1] - x < 0)
        {
            curtemp -= t*diff[l-1];
            curtemp += s*(diff[l-1]-x);
        }
        else curtemp -= ((diff[l-1] < 0) ? s : t)*x;

        if (r != n)
        {
            if (diff[r] < 0 && diff[r] + x >= 0)
            {
                curtemp -= s*diff[r];
                curtemp += t*(diff[r]+x);
            }
            else curtemp += ((diff[r] < 0) ? s : t)*x;
        }
        diff[l-1] -= x;
        diff[r] += x;
        cout << curtemp << '\n';
    }

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