代码如下
#include<bits/stdc++.h>
using namespace std;
int i,j,s1,s2,s3,s4,e,k,maxn,minn,ans;
int a1[30],a2[30],a3[30],a4[30];
int main()
{
scanf("%d%d%d%d",&s1,&s2,&s3,&s4);
for(i=1;i<=s1;i++)
scanf("%d",&a1[i]);
for(i=1;i<=s2;i++)
scanf("%d",&a2[i]);
for(i=1;i<=s3;i++)
scanf("%d",&a3[i]);
for(i=1;i<=s4;i++)
scanf("%d",&a4[i]);
for(i=1;i<=s1;i++)
for(j=1;j<=s1-i;j++)
if(a1[j]<a1[j+1])
{
e=a1[j];
a1[j]=a1[j+1];
a1[j+1]=e;
}
for(i=1;i<=s2;i++)
for(j=1;j<=s2-i;j++)
if(a2[j]<a2[j+1])
{
e=a2[j];
a2[j]=a2[j+1];
a2[j+1]=e;
}
for(i=1;i<=s3;i++)
for(j=1;j<=s3-i;j++)
if(a3[j]<a3[j+1])
{
e=a3[j];
a3[j]=a3[j+1];
a3[j+1]=e;
}
for(i=1;i<=s4;i++)
for(j=1;j<=s4-i;j++)
if(a4[j]<a4[j+1])
{
e=a4[j];
a4[j]=a4[j+1];
a4[j+1]=e;
}
while(a1[1]!=0)
{
if(s1==1)
{
ans+=a1[1];
break;
}
else
ans+=min(a1[1],a1[2]);
maxn=max(a1[1],a1[2]);
minn=min(a1[1],a1[2]);
if(a1[2]>a1[1])
{
a1[2]=maxn-minn;
a1[1]=0;
}
else
{
if(a1[2]<a1[1])
{
a1[1]=maxn-minn;
a1[2]=0;
}
else
{
a1[1]=0;
a1[2]=0;
s1--;
}
}
if(a1[1]==0)
for(k=1;k<=s1;k++)
a1[k]=a1[k+1];
if(a1[2]==0)
for(k=2;k<=s1;k++)
a1[k]=a1[k+1];
s1--;
}
while(a2[1]!=0)
{
if(s2==1)
{
ans+=a2[1];
break;
}
else
ans+=min(a2[1],a2[2]);
maxn=max(a2[1],a2[2]);
minn=min(a2[1],a2[2]);
if(a2[2]>a2[1])
{
a2[2]=maxn-minn;
a2[1]=0;
}
else
{
if(a2[2]<a2[1])
{
a2[1]=maxn-minn;
a2[2]=0;
}
else
{
a2[1]=0;
a2[2]=0;
s2--;
}
}
if(a2[1]==0)
for(k=1;k<=s2;k++)
a2[k]=a2[k+1];
if(a2[2]==0)
for(k=2;k<=s2;k++)
a2[k]=a2[k+1];
s2--;
}
while(a3[1]!=0)
{
if(s3==1)
{
ans+=a3[1];
break;
}
else
ans+=min(a3[1],a3[2]);
maxn=max(a3[1],a3[2]);
minn=min(a3[1],a3[2]);
if(a3[2]>a3[1])
{
a3[2]=maxn-minn;
a3[1]=0;
}
else
{
if(a3[2]<a3[1])
{
a3[1]=maxn-minn;
a3[2]=0;
}
else
{
a3[1]=0;
a3[2]=0;
s3--;
}
}
if(a3[1]==0)
for(k=1;k<=s3;k++)
a3[k]=a3[k+1];
if(a3[2]==0)
for(k=2;k<=s3;k++)
a3[k]=a3[k+1];
s3--;
}
while(a4[1]!=0)
{
if(s4==1)
{
ans+=a4[1];
break;
}
else
ans+=min(a4[1],a4[2]);
maxn=max(a4[1],a4[2]);
minn=min(a4[1],a4[2]);
if(a4[2]>a4[1])
{
a4[2]=maxn-minn;
a4[1]=0;
}
else
{
if(a4[2]<a4[1])
{
a4[1]=maxn-minn;
a4[2]=0;
}
else
{
a4[1]=0;
a4[2]=0;
s4--;
}
}
if(a4[1]==0)
for(k=1;k<=s4;k++)
a4[k]=a4[k+1];
if(a4[2]==0)
for(k=2;k<=s4;k++)
a4[k]=a4[k+1];
s4--;
}
printf("%d",ans);
return 0;
}``````