Cod sursa(job #265182)
| Utilizator | Data | 23 februarie 2009 15:19:22 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.42 kb |
#include<cstdio>
int n,k,prod=0;
double a[30],sum=0;
int back(int x,double q,int d)
{
int i;
if (x==k+1)
{
sum+=q;
prod++;
return;
}
int r=n+x-k;
for(i=d+1;i<=r;++i)
back(x+1,q*a[i],i);
}
int main()
{
int i;
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d%d",&n,&k);
for(i=1;i<=n;++i)
scanf("%lf",&a[i]);
//fact();
back(1,1,0);
printf("%lf",sum/prod);
return 0;
}
