Cod sursa(job #2504710)

Utilizator stan_flaviusStan Flavius Stefan stan_flavius Data 5 decembrie 2019 13:41:44
Problema Dezastru Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>
#define nmax 26

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

int n,k;
double vec[nmax];
double dp[nmax][nmax];

double long factorial(int val)
{
    double long pr=1;
    for(int i=1; i<=val; ++i)
        pr*=i;
    return pr;
}

int main()
{
    fin>>n>>k;
    for(int i=1; i<=n; i++)
        fin>>vec[i];

    for(int i=0; i<=n; i++)
        dp[i][0]=1.0;

    for(int i=1; i<=n; i++)
        for(int j=1; j<=k; j++)
            dp[i][j]=dp[i-1][j]+dp[i-1][j-1]*vec[i];


    fout<<dp[n][k]/factorial(n)*(factorial(k)*factorial(n-k))*factorial(n-k);
    return 0;
}