求数据
#include<bits/stdc++.h>
using namespace std;
bool cmp(int aaa,int bbb){
return aaa>bbb;
}
int k[5];
int a[100];
int s;
int ans;
bool vio;
void dfs(int x,int y){
if(a[x]==0){
vio=false;
return;
}
if(a[y]==0){
ans+=a[x];
vio=false;
return ;
}
else{
if(a[x]-a[y]<0&&vio){
ans+=a[x];
a[y]-=a[x];
dfs(y,y+1);
}
if((a[x]-a[y])==0&&vio){
ans+=a[x];
a[x]=0;
a[y]=0;
dfs(y+1,y+2);
}
if(a[x]-a[y]>0&&vio){
a[x]-=a[y];
ans+=a[y];
dfs(x,y+1);
}
}
}
int main()
{
for(int i=1;i<=4;i++){
cin>>k[i];
}
for(int i=1;i<=4;i++){
s=k[i];
for(int j=1;j<=s+10;j++){
a[j]=0;
}
for(int j=1;j<=s;j++){
cin>>a[j];
// cout<<j;
}
sort(a+1,a+s+1,cmp);
vio=true;
dfs(1,2);
}
cout<<ans;
return 0;
}