Cod sursa(job #2364437)

Utilizator DumitresculEDumitrescul Eduard DumitresculE Data 4 martie 2019 08:35:23
Problema Dezastru Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("dezastru.in");
ofstream fout("dezastru.out");

double DP [40] [40];

int main()
{
    int n, t, i, j;
    double nr;
    fin >> n >> t;
    for( i = 0; i <= n; i ++ )
        DP [i] [0] = 1;

    for( i = 1; i <= n; i ++ ){
        fin >> nr;
        for ( j = 1; j <= i; j ++ ){
            DP [i] [j] = DP [i - 1] [j] + (double) nr * DP [i - 1] [j - 1];
        }
    }

    double res = DP [n] [t];

    for ( i = t + 1; i <= n; i ++ )
        res /= i;
    for( i = 1; i <= n - t; i ++)
        res *= i;

    fout << setprecision(6) << fixed;
    fout << res;

    return 0;
}