Cod sursa(job #328980)

Utilizator doru.nituNitu Doru Constantin doru.nitu Data 4 iulie 2009 11:13:00
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<stdio.h>

float a[27],p=1,s;
int nr,b[27],i,j,n,k;

void comb(int i)
{ 
     if(i==k+1) { s+=p;
                  nr++;
                }
     else for( int j=b[i-1]+1;j<=n;j++)
              { b[i]=j;
                 p*=a[b[i]];
                 comb(i+1);
                 p/=a[b[i]];
              }
}                              

int main()
{ 
    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]);
    comb(1);
    
    printf("%f\n",s/nr);
    
    fclose(stdin);
    fclose(stdout);
    return 0;
}