比赛 2026.8.28 评测结果 AAAAAWWWWW
题目名称 无法拒绝孤独的她 最终得分 50
用户昵称 彭欣越 运行时间 2.715 s
代码语言 C++ 内存使用 8.88 MiB
提交时间 2026-08-28 11:32:54
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=500010;
int n,q,f1,f2,f3;
ll a[N],b[N],c[N],d[N],ans,res;
int main () {
    freopen("cantrefuse.in","r",stdin);
    freopen("cantrefuse.out","w",stdout);
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    cin >> n >> q;
    for (int i=1;i<=n;i++) {
        cin >> a[i];
        //cout << a[i] <<endl;
        if (a[i]!=0) f1=1;
    }
    for (int i=1;i<=n;i++) {
        cin >> b[i];
        if (b[i]!=0) f2=1;
        res+=min(b[i],a[i]);
    }
    for (int i=1;i<n;i++) {
        cin >> c[i];
        if (c[i]!=0) f3=1;
    }
    while (q--) {
        ans=0;
        ll p,x,y,z;
        cin >> p >> x >> y >> z;
        //cout << p <<' '<< x <<' '<< y <<' '<< z <<endl;
        if (n<=5000) {
            a[p]=x,b[p]=y,c[p]=z;
            for (int i=1;i<=n;i++) d[i]=a[i];
            for (int i=1;i<=n;i++) {
                if (d[i]>b[i]) {
                    d[i+1]+=min(c[i],d[i]-b[i]);
                    ans+=b[i];
                }else{
                    ans+=d[i];
                }
            }
            cout << ans <<"\n"; 
        }else if (f1==0) {
            cout << 0 <<"\n";
        }else if (f2==0) {
            cout << 0 <<"\n";
        }else if (f3==0) {
            res+=min(x,y)-min(a[p],b[p]);
            a[p]=x,b[p]=y;
            cout << res <<endl;
        }else{
            cout << "qwq" <<"\n";
        } 
    }
    return 0; 
}