Cod sursa(job #158835)
| Utilizator | Data | 13 martie 2008 20:33:25 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include<cstdio>
float rez,a[26];
int n,k,nr;
void comb(int i,int last,float rez1)
{
if(i==k+1) {rez+=rez1;nr++;return;}
for(int j=last+1;j<=n-(k-i);++j)
comb(i+1,j,rez1*a[j]);
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d %d",&n,&k);
for(int i=1;i<=n;++i) scanf("%f",&a[i]);
comb(1,0,1.0);
rez=rez/nr;
rez=(int)(rez*1000000)/1000000.0;
printf("%f",rez);
fclose(stdout);
return 0;
}