跑样例可以过,但全wa了,也没例子看是什么问题,哪位大佬帮帮我
#include<bits/stdc++.h>
using namespace std;
int A[22],B[22],C[22],D[22];
double sum=0;
int s1,s2,s3,s4;
double sum1,sum2,sum3,sum4,sum11,sum22,sum33,sum44;
int main(){
cin>>s1>>s2>>s3>>s4;
for(int i=1;i<=s1;i++){
cin>>A[i];
sum1+=A[i];
}
for(int i=1;i<=s2;i++){
cin>>B[i];
sum2+=B[i];
}
for(int i=1;i<=s3;i++){
cin>>C[i];
sum3+=C[i];
}
for(int i=1;i<=s4;i++){
cin>>D[i];
sum4+=D[i];
}
for(int i=1;i<=s1;i++){
sort(A+1,A+s1+1);
if(s1<=1){
sum11+=A[i];
continue;
}
else if(s1==2){
sum11+=A[2];
continue;
}
else{
if(s1%2==1){
for(int i=1;i<=s1;i++){
if(sum11>=sum1/2){
continue;
}
sum11+=A[i];
}
}
else{
for(int i=1,j=s1;i<=j;i++,j--){
if(A[i]+A[j]>=sum1/2){
break;
}
sum11+=A[i]+A[j];
}
}
}
}
for(int i=1;i<=s2;i++){
sort(B+1,B+s2+1);
if(s2<=1){
sum22+=B[i];
break;
}
else if(s2==2){
sum22+=B[2];
break;
}
else{
if(s2%2==1){
for(int i=1;i<=s2;i++){
if(sum22>=sum2/2){
continue;
}
sum22+=B[i];
}
}
else{
for(int i=1,j=s2;i<=j;i++,j--){
if(B[i]+B[j]>=sum2/2){
break;
}
sum22+=B[i]+B[j];
}
}
}
}
for(int i=1;i<=s3;i++){
sort(C+1,C+s3+1);
if(s3<=1){
sum33+=C[i];
break;
}
else if(s3==2){
sum33+=C[2];
break;
}
else{
if(s3%2==1){
for(int i=1;i<=s3;i++){
if(sum33>=sum3/2){
continue;
}
sum33+=C[i];
}
}
else{
for(int i=1,j=s3;i<=j;i++,j--){
if(C[i]+C[j]>=sum3/2){
break;
}
sum33+=C[i]+C[j];
}
}
}
}
for(int i=1;i<=s4;i++){
sort(D+1,D+s4+1);
if(s4<=1){
sum44+=D[i];
break;
}
else if(s4==2){
sum44+=D[2];
break;
}
else{
if(s4%2==1){
for(int i=1;i<=s4;i++){
if(sum44>=sum4/2){
continue;
}
sum44+=D[i];
}
}
else{
for(int i=1,j=s4;i<=j;i++,j--){
if(D[i]+D[j]>=sum4/2){
break;
}
sum44+=D[i]+D[j];
}
}
}
}
//cout<<sum11<<endl;
// cout<<sum22<<endl;
//cout<<sum33<<endl;
// cout<<sum44<<endl;
sum=sum11+sum22+sum33+sum44;
cout<<sum;
}