求助
#include<iostream>
#include<algorithm>
#include<math.h>
using namespace std;
int a[5],n[21],sum;
bool cmp(int xx,int yy){
return xx>>yy;
}
int main(){
for(int i=1;i<=4;i++)cin>>a[i];
for(int i=1;i<=4;i++){
int now=0;
for(int j=1;j<=a[i];j++){
cin>>n[j];
now+=n[j];
}
sort(n+1,n+a[i]+1);
int left=a[i],right=a[i]-1;
int ln=0,rn=0,len=a[i]-2;
while(ln+rn!=now){
if(left>=1)ln++,n[left]--;
if(right>=1)rn++,n[right]--;
if(n[left]==0)left=max(len,0),len--;
if(n[right]==0)right=max(len,0),len--;
// cout<<n[left]<<" "<<n[right]<<"*\n";
}
sum=sum+max(ln,rn);
// cout<<sum<<"*\n";
}
cout<<sum;
return 0;
}
有大佬看看为啥错了啊