Cod sursa(job #945451)

Utilizator thewildnathNathan Wildenberg thewildnath Data 1 mai 2013 22:13:05
Problema Dezastru Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<stdio.h>
int n,k,nr;
double v[26],sol;

void comb(int x,int p,double aux)
{
    int i;
    aux=aux*v[x];
    if(p==k)
    {
        nr++;
        sol=sol+aux;
        return ;
    }
    for(i=x+1;i<=n-(k-p)+1;i++)  //OPTIMIZARE
        comb(i,p+1,aux);
}

int main()
{
    freopen("dezastru.in","r",stdin);
    freopen("dezastru.out","w",stdout);
    int i;
    scanf("%d%d",&n,&k);
    for(i=1;i<=n;i++)
        scanf("%lf",&v[i]);
    v[0]=1;
    comb(0,0,1);
    sol=(double)sol/nr;
    printf("%lf\n",sol);
    return 0;

}