Cod sursa(job #2194717)

Utilizator timar_andreiTimar Andrei timar_andrei Data 14 aprilie 2018 10:47:46
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

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

int N,K;
double V[30];
double DP[30][30];
int C[30];

double Comb()
{
    C[0]=1;
    for(int i=1;i<=N;++i)
        for(int j=i;j>=1;--j)
            C[j]+=C[j-1];
    return C[K];
}

int main()
{
    fin>>N>>K;
    for(int i=1;i<=N;i++)
        fin>>V[i];

    for(int i=1;i<=K;++i)
        DP[0][i] = 0;

    for(int i=0;i<=N;++i)
        DP[i][0] = 1;

    for(int i=1;i<=N;i++)
        for(int j=1;j<=K;j++)
            DP[i][j] = DP[i-1][j] + V[i]*DP[i-1][j-1];

    fout<<DP[N][K]/Comb();
    return 0;
}