Cod sursa(job #983231)

Utilizator FlameingoAiordachioaei Marius Flameingo Data 11 august 2013 11:15:46
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#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);

}