| 比赛 |
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;
}