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