Pagini recente » Cod sursa (job #1401128) | Cod sursa (job #2846321) | Cod sursa (job #57632) | Cod sursa (job #178791) | Cod sursa (job #983231)
Cod sursa(job #983231)
#include <cstdio>
#include <algorithm>
using namespace std;
const int NMAX = 27;
double V[NMAX], D[2][NMAX], R;
int main () {
freopen ("dezastru.in", "r", stdin);
freopen ("dezastru.out", "w", stdout);
int N, K, i, j, n = 1, p = 1, r = 1;
bool k = 1;
D[0][0] = D[1][0] = 1;
scanf ("%d%d", &N, &K);
for (i = 1; i <= N; ++i)
scanf ("%lf", V + i);
for (i = 1; i <= N; ++i, k = !k, n = min (i, K))
for (j = 1; j <= n; ++j)
D[k][j] = D[!k][j] + D[!k][j - 1] * V[i];
R = D[!k][K];
for (i = 1; i <= K; ++i)
R /= (N - i + 1),
R *= i;
printf ("%.6lf", R);
}