Cod sursa(job #724345)

Utilizator mirceadinoMircea Popoveniuc mirceadino Data 26 martie 2012 14:12:28
Problema Dezastru Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<cstdio>
int main()
{
    int i,j,n,k,m,ok,nr=0;
    float a[30],p,medie=0;
    freopen("dezastru.in","r",stdin);
    freopen("dezastru.out","w",stdout);
    scanf("%d %d",&n,&k);
    for(i=1;i<=n;i++) scanf("%f",&a[i]);
    m=1<<n;
    for(i=1;i<m;i++)
    {
        ok=0; p=1;
        for(j=1;j<=n;j++)
        {
            if(i&(1<<(j-1)))
            {
                p*=a[j];
                ok++;
            }
        }
        if(ok==k) {medie+=p; nr++;}
    }
    printf("%.6f",(float)(medie/nr));
    return 0;
}