样例过,但测试点全wa,求助
查看原帖
样例过,但测试点全wa,求助
1494534
sea_wind楼主2024/11/28 20:25

P2392 kkksc03考前临时抱佛脚样例已过,求为什么测试点全wa

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
int s1,s2,s3,s4;cin>>s1>>s2>>s3>>s4;int x,ans=0;
vector<int> a,b,c,d;
for(int i=1;i<=s1;i++) {cin>>x;a.push_back(x);}
for(int i=1;i<=s2;i++) {cin>>x;b.push_back(x);}
for(int i=1;i<=s3;i++) {cin>>x;c.push_back(x);}
for(int i=1;i<=s4;i++) {cin>>x;d.push_back(x);}
sort(a.begin(),a.end());sort(b.begin(),b.end());
sort(c.begin(),c.end());sort(d.begin(),d.end());
while(a.size()>1)
{
ans+=a[0];
if(a[a.size()-1]-a[0]!=0) a.push_back(a[a.size()-1]-a[0]);
a.erase(a.begin());
a.erase(a.end() - 2);
sort(a.begin(),a.end());
}
if(a.size()==1)ans+=a[0];

while(b.size()>1)
{
ans+=b[0];
if(b[b.size()-1]-b[0]!=0) b.push_back(b[b.size()-1]-b[0]);
b.erase(b.begin());
b.erase(b.end() - 2);
sort(b.begin(),b.end());
}
if(b.size()==1)ans+=b[0];

while(c.size()>1)
{
ans+=c[0];
if(c[c.size()-1]-c[0]!=0) c.push_back(c[c.size()-1]-c[0]);
c.erase(c.begin());
c.erase(c.end() - 2);
sort(c.begin(),c.end());
}
if(c.size()==1)ans+=c[0];

while(d.size()>1)
{
ans+=d[0];
if(d[d.size()-1]-d[0]!=0) d.push_back(d[d.size()-1]-d[0]);
d.erase(d.begin());
d.erase(d.end() - 2);
sort(d.begin(),d.end());
}
if(d.size()==1)ans+=d[0];

cout<<ans;
return 0;
}
2024/11/28 20:25
加载中...