样例都不过,求助大佬
查看原帖
样例都不过,求助大佬
1187511
daijinxiang楼主2024/2/23 10:52

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;
}
2024/2/23 10:52
加载中...