codeforces 107B Basketball Team

做法:如果当初英语阅读仔细一点就好了,类似于高中的时候常做的,在一个箱子里摸n个球

#include<cstdio>
int main()
{
    int n,m,h,rest=0,us=0;
    double ans=1;
    scanf("%d%d%d",&n,&m,&h);
    for(int i=0;i<m;i++)
    {
        int x;
        scanf("%d",&x);
        rest+=x;
        if(i==h-1)us=x;
    }
    if(rest<n)
    {
        printf("-1\n");
        return 0;
    }
    n--;us--;rest--;
    while(n>0)
    {
        ans*=1.0*(rest-us)/rest;
        if(us==rest)break;
        rest--;
        n--;
    }
    printf("%.15lf\n",1-ans);
    return 0;
}


你可能感兴趣的:(codeforces 107B Basketball Team)