题目链接
思路:要求至少包含一个h的队友的话我们可以反着来,1-不包含h的队友的概率就是1-(C(sum-a[h])/C(sum-1)。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int sum,n,m,h,a[1001];
int main()
{
double ans=1;
scanf("%d%d%d",&n,&m,&h);
for(int i=1;i<=m;++i)
scanf("%d",&a[i]),sum+=a[i];
if(sum<n){
puts("-1");return 0;
}
double t1=sum-a[h],t2=sum-1;
for(int i=1;i<n;++i)
ans*=t1*1.0/t2,t1--,t2--;
printf("%lf\n",1-ans);
}