比赛 2026.8.28 评测结果 AAAAAWWWWW
题目名称 无法拒绝孤独的她 最终得分 50
用户昵称 123 运行时间 2.312 s
代码语言 C++ 内存使用 7.20 MiB
提交时间 2026-08-28 10:01:46
显示代码纯文本
#include <bits/stdc++.h>
#define pb push_back 
using namespace std;
const int N=5e5+10;
int n,q,a[N],b[N],p,x,y,f1=0,f2=0,f3=0; 
long long c[N],res=0,z;
void solve() {
    cin>>n>>q;
    for (int i=1;i<=n;i++) cin>>a[i],f1|=(a[i]!=0);
    for (int i=1;i<=n;i++) cin>>b[i],f2|=(b[i]!=0),res+=min(a[i],b[i]);
    for (int i=1;i<n;i++) cin>>c[i],f3|=(c[i]!=0);
    for (int i=1;i<=q;i++)
    {
        cin>>p>>x>>y>>z;
        res-=min(a[p],b[p]),res+=min(x,y);
        f1|=(x!=0),f2|=(y!=0),f3|=(z!=0);
        a[p]=x,b[p]=y,c[p]=z;
        if (n<=5000 && q<=5000)
        {
            long long now=0,ans=0;
            for (int i=1;i<=n;i++)
            {
                if (now+a[i]<b[i]) ans+=now+a[i],now=0;
                else
                {
                    ans+=b[i],now=min(c[i],now+a[i]-b[i]);
                }
            }
            cout<<ans<<"\n";
        } 
        else if (!f1) cout<<0<<"\n";
        else if (!f2) cout<<0<<"\n";
        else cout<<res<<"\n";
    }
}
int main() {
    freopen("cantrefuse.in","r",stdin);
    freopen("cantrefuse.out","w",stdout);
    ios::sync_with_stdio(0),cin.tie(0);
    solve();
    return 0;
}