Cod sursa(job #668612)

Utilizator SpiderManSimoiu Robert SpiderMan Data 25 ianuarie 2012 10:52:49
Problema Dezastru Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
# include <cstdio>

const char *FIN = "dezastru.in", *FOU = "dezastru.out";

double V[30] , sum = 0.00;
int N , K , cnt;

void dez (int k , int li , double poz) {
    if ( k == K ) sum += poz, ++cnt;
    else
        for (int i = li; i <= N - K + k; ++i)
            dez (k + 1 , i + 1 , poz * V[i]);
}

int main (void) {
    freopen (FIN, "r", stdin);
    freopen (FOU, "w", stdout);

    scanf ("%d %d", &N, &K);

    for (int i = 0; i < N; ++i)
        scanf ("%lf", &V[i]);

    dez (0 , 0 , 1.0);

    printf ("%.6lf", sum / cnt);
}