Cod sursa(job #38401)

Utilizator dominoMircea Pasoi domino Data 25 martie 2007 19:16:43
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>

#define MAX_N 32
#define FIN "dezastru.in"
#define FOUT "dezastru.out"

int N, K;
double P[MAX_N], A[MAX_N][MAX_N], Res;

int main(void)
{
    int i, j, k;

    freopen(FIN, "r", stdin);
    freopen(FOUT, "w", stdout);

    scanf("%d %d", &N, &K);
    for (i = 1; i <= N; i++)
        scanf("%lf", P+i);
   
    A[0][0] = 1.0;
    for (i = 1; i <= K; i++)
        for (j = 1; j <= N; j++)
            for (k = 0; k < j; k++)
                A[i][j] += A[i-1][k] * P[j]*(double)i/(double)(N-i+1);

    for (i = 1; i <= N; i++)
        Res += A[K][i];
    printf("%.6f\n", Res);

    return 0;
}