Pagini recente » Cod sursa (job #2143036) | Cod sursa (job #2468616) | Cod sursa (job #1175050) | Cod sursa (job #2711718) | Cod sursa (job #248140)
Cod sursa(job #248140)
#include<stdio.h>
#define NMAX 32
double A[NMAX],D[NMAX][NMAX];
int N,K;
void read()
{
scanf("%d%d\n",&N,&K);
int i;
for(i=1; i<=N; ++i)
scanf("%lf",&A[i]);
}
void solve()
{
int i,j;
for(i=0; i<=N; ++i) D[0][i]=1;
for(i=1; i<=K; ++i)
for(j=1; j<=N; ++j)
D[i][j]=D[i][j-1]+D[i-1][j-1]*A[j];
}
void show()
{
double i=N-K+1,a1=1;
for(i; i<=N; ++i)
a1*=i;
for(i=2; i<=K; ++i)
a1/=i;
//printf("%lf %lf\n",D[K][N],a1);
printf("%.6lf\n",D[K][N]/a1);
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
read();
solve();
show();
return 0;
}