Pagini recente » Cod sursa (job #2908466) | Cod sursa (job #1250694) | Cod sursa (job #2117378) | Cod sursa (job #2123596) | Cod sursa (job #38335)
Cod sursa(job #38335)
#include <stdio.h>
int N, K;
double M[26][26], p[26];
long double P;
int main(void)
{
int i, j; double x;
freopen("dezastru.in", "r", stdin);
freopen("dezastru.out", "w", stdout);
scanf("%d %d", &N, &K);
for (i = 1; i <= N; i++)
{
scanf("%lf", &x);
p[i] = x;
}
M[1][0] = 1.0; M[1][1] = p[1];
for (i = 2; i <= N; i++)
{
M[i][0] = 1.0;
for (j = 1; j <= i; j++)
M[i][j] = M[i-1][j] + M[i-1][j-1] * p[i];
}
P = M[N][K];
for (i = 1; i <= N-K; i++) P *= i;
for (i = K+1; i <= N; i++) P /= i;
printf("%.7lf\n", (double)P);
return 0;
}