样例过了,但不知道为什么数据全WA了,求大佬帮忙看看是哪出错了
#include <bits/stdc++.h>
using namespace std;
int ans=0;
int s[6];
int num[6][22];
void dfs(int i,int number,int can,int sum)
{
if(number>s[i])
{
ans+=sum;
return ;
}
if(can<num[i][number])
{
can=num[i][number]-can;
sum+=can;
}
else
{
can-=num[i][number];
}
dfs(i,number+1,can,sum);
}
int main()
{
for(int i=1;i<=4;i++)
cin>>s[i];
for(int i=1;i<=4;i++)
{
for(int j=1;j<=s[i];j++)
{
cin>>num[i][j];
}
sort(num[i]+1,num[i]+1+s[i],greater<int>());
}
for(int i=1;i<=4;i++)
{
if(s[i]==1||s[i]==0)
{
ans+=num[i][1];
}
else
{
dfs(i,1,0,0);
}
}
cout<<ans<<endl;
}