比赛 2024暑假C班集训5 评测结果 WAAWTTTTTT
题目名称 焚风现象 最终得分 20
用户昵称 liuyiche 运行时间 6.100 s
代码语言 C++ 内存使用 5.93 MiB
提交时间 2024-07-05 11:56:48
显示代码纯文本
#include <bits/stdc++.h>
            
using namespace std;

typedef long long ll;

ll n, q, s, t, ans = 0;
ll a[200005];
    
int main()
{
    freopen("foehn.in", "r", stdin);
    freopen("foehn.out", "w", stdout);
        
    ios::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
            
    cin >> n >> q >> s >> t;
    for(int i = 0; i <= n; ++i)
        cin >> a[i];
    if(s == t)
    {
        for(int j = 1; j <= n; ++j)
        {
            if(a[j] > a[j-1])
                ans -= s*(a[j]-a[j-1]);
            else if(a[j] < a[j-1])
                ans += t*(a[j-1]-a[j]);
        }
        for(int i = 1; i <= q; ++i)
        {
            ll l, r, x;
            cin >> l >> r >> x;
            if(r == n)
                a[n] += x;
            cout << a[n]*t << '\n';
        }
        return 0;
    }
    for(int i = 1; i <= q; ++i)
    {
        ll l, r, x;
        cin >> l >> r >> x;
        for(int j = l; j <= r; ++j)
            a[j] += x;
        ans = 0;
        for(int j = 1; j <= n; ++j)
        {
            if(a[j] > a[j-1])
                ans -= s*(a[j]-a[j-1]);
            else if(a[j] < a[j-1])
                 ans += t*(a[j-1]-a[j]);
        }
        cout << ans << '\n';
    }
    
   	return 0;
}