记录……
自己测试时是可以的,但是放到洛谷上就RE了……
#include <bits/stdc++.h>
#define N 21
using namespace std;
int s1,s2,s3,s4;
int ans;
inline int read(){
int date=0,w=1;char c=0;
while(c<'0'||c>'9'){if(c=='-')w=-1;c=getchar();}
while(c>='0'&&c<='9'){date=date*10+c-'0';c=getchar();}
return date*w;
}
int dev(int n){
int a[N],f[N];
memset(f,0,sizeof(f));
int m=0;
for(int i=1;i<=n;i++){
a[i]=read();
m+=a[i];
}
for(int i=1;i<=n;i++)
for(int j=m/2;j>=a[i];j--)
f[j]=max(f[j],f[j-a[i]]+a[i]);
return max(f[m/2],m-f[m/2]);
}
int main(){
cin>>s1>>s2>>s3>>s4;
ans=dev(s1)+dev(s2)+dev(s3)+dev(s4);
printf("%d",ans);
return 0;
}