Cod sursa(job #1806513)

Utilizator andru47Stefanescu Andru andru47 Data 15 noiembrie 2016 14:18:16
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <bits/stdc++.h>
using namespace std;
int n,k,c[100][100];
double a[100],din[100][100];
int main()
{
    freopen("dezastru.in", "r", stdin);
    freopen("dezastru.out", "w", stdout);
    scanf("%d %d\n", &n, &k);
    for(int i = 1; i<=n; ++i)
        scanf("%lf", &a[i]);
    din[0][0] = 1;
    for (int i = 1; i<=n; ++i)
    {
        din[i][0] = 1;
        for (int j = 1; j<=i; ++j)
            din[i][j] = din[i-1][j] + din[i-1][j-1] * a[i];
    }
    c[0][0] = 1;
    for (int i = 1; i<=n; ++i)
    {
        c[i][0] = 1;
        for (int j = 1; j<=k; ++j)
            c[i][j] = c[i-1][j] + c[i-1][j-1];
    }

    printf("%.6f", din[n][k]/c[n][k]);
    return 0;
}