社区讨论
赛时 20 pts 求调,悬2关
P14954520参与者 6已保存回复 18
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 18 条
- 当前快照
- 1 份
- 快照标识符
- @mjy5tt3d
- 此快照首次捕获于
- 2026/01/03 18:28 2 个月前
- 此快照最后确认于
- 2026/01/07 13:50 上个月
rt.
CPP#include<bits/stdc++.h>
using namespace std;
#define int long long
int T;
int n,a,b,c;
string s;
signed main(){
cin>>T;
while(T--){
cin>>n>>a>>b>>c>>s;
s=" "+s;
int ans=0;
while(1){
int k=s.find("520");
if(k==-1)break;
else s.erase(k,3),ans++;
}
while(a!=0){
int k=s.find("20");
if(k==-1)break;
else s.erase(k,2),ans++,a--;
}
while(b!=0){
int k=s.find("50");
if(k==-1)break;
else s.erase(k,2),ans++,b--;
}
while(c!=0){
int k=s.find("52");
if(k==-1)break;
else s.erase(k,2),ans++,c--;
}
while(a!=0&&b!=0){
int k=s.find("0");
if(k==-1)break;
else s.erase(k,1),ans++,a--,b--;
}
while(a!=0&&c!=0){
int k=s.find("2");
if(k==-1)break;
else s.erase(k,1),ans++,a--,c--;
}
while(c!=0&&b!=0){
int k=s.find("5");
if(k==-1)break;
else s.erase(k,1),ans++,c--,b--;
}
ans+=min({a,b,c});
cout<<ans<<"\n";
}
return 0;
}
回复
共 18 条回复,欢迎继续交流。
正在加载回复...