Cod sursa(job #170807)
| Utilizator | Data | 3 aprilie 2008 11:36:10 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.41 kb |
#include<stdio.h>
int n,k,t=0,ia=0;
double v[30],r=0;
void back(int k1,int ia,double par)
{
if(k1==k+1)
{ r+=par; t++; }
else for(int i=ia+1; i<=n-(k-k1); i++)
back(k1+1,i,par*v[i]);
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d%d",&n,&k);
int i;
for(i=1; i<=n; i++)
scanf("%lf",v+i);
back(1,0,1);
r/=t;
printf("%lf\n",r);
return 0;
}
