Pagini recente » Cod sursa (job #323104) | Cod sursa (job #2411049) | Cod sursa (job #398011) | Cod sursa (job #1491001) | Cod sursa (job #37338)
Cod sursa(job #37338)
#include <stdio.h>
#define FOR(i,s,d) for(i=(s);i<(d);++i)
int n,k;
double P[32],sol=0;
void doit(int i,int k,double x)
{
if(!k)
{
sol+=x;
return ;
}
FOR(i,i,n-k+1)
doit(i+1,k-1,x*P[i]);
}
double comb(int n,int k)
{
double aux=1;
int i;
FOR(i,k+1,n+1)
aux*=i;
FOR(i,2,n-k+1)
aux/=i;
return aux;
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
int i;
scanf("%d %d",&n,&k);
FOR(i,0,n)
scanf("%lf",&P[i]);
doit(0,k,1);
printf("%lf\n",sol/comb(n,k));
return 0;
}