样例3过不去求助(AC玄2关)
查看原帖
样例3过不去求助(AC玄2关)
1287433
__ycy1124__楼主2024/8/19 14:11
#include<bits/stdc++.h>
using namespace std;
long long w[51];
bool cmp(long long x1,long long x2){
	return x1>x2;
}
long long work(long long i,long long n){
	long long ans1=1,ans2=1;
	for(int j=1;j<=i;j++){
		ans1*=j;
		ans2*=(n-i+j);
	}
	return ans2/ans1;
}
int main(){
	long long n,a,b;
	scanf("%lld%lld%lld",&n,&a,&b);
	for(int i=1;i<=n;i++){
		scanf("%lld",&w[i]);
	}
	long long js=0;
	double ans;
	sort(w+1,w+n+1,cmp);
	int bj=51;
	for(int i=1;i<=a;i++){
		js+=w[i];
		if(w[i]==w[a]){
			bj=min(i,bj);
		}
	}
	ans=1.000000*js/a;
	printf("%.6lf\n",ans);
	long long ans2=0;
	if(w[a]==ans){
		for(int i=a;i<=b;i++){
			ans2+=work(i,n);
		}
		cout<<ans2;
		return 0;
	}
	for(int i=1;i<=n;i++){
		if(w[i]==w[a]){
			ans2++;
		}
	}
	cout<<work(a-bj+1,ans2);
	return 0;
} 
2024/8/19 14:11
加载中...