My Code:
#include<bits/stdc++.h>
using namespace std;
int a[100005],b[100005],c[100005],d[100005],k,d11,m,f,x,y,z,q;
bool flag1[100005],flag2[100005],flag3[100005],flag4[100005];
bool cmp(int x,int y){
return x>y;
}
int main(){
cin>>k>>d11>>m>>f;
for(int i=1; i<=k; i++) cin>>a[i];
for(int i=1; i<=d11; i++) cin>>b[i];
for(int i=1; i<=m; i++) cin>>c[i];
for(int i=1; i<=f; i++) cin>>d[i];
sort(a+1,a+1+k,cmp);
sort(b+1,b+d11+1,cmp);
sort(c+1,c+m+1,cmp);
sort(d+1,d+f+1,cmp);
cin>>q;
while(q--){
int z1,z2,z3,cnt=0,sum=0;
cin>>z1>>z2>>z3;
cnt++;
sum+=a[1];
for(int i=1; i<=z1; i++){
if(!flag1[i]){
cnt++;
sum+=b[i];
flag1[i]=1;
}
}
for(int i=1; i<=z2; i++){
if(!flag2[i]){
cnt++;
sum+=c[i];
flag2[i]=1;
}
}
for(int i=1; i<=z3; i++){
if(!flag3[i]){
cnt++;
sum+=d[i];
flag3[i]=1;
}
}
printf("%.2lf\n",1.0*sum/cnt);
}
return 0;
}