Cod sursa(job #1985418)

Utilizator DavidLDavid Lauran DavidL Data 27 mai 2017 20:59:36
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fi("dezastru.in");
ofstream fo("dezastru.out");

int n,k,nr_pos,i,j;
int C[30][30];
double suma;
double dp[30][30],p[30];

int main()
{
    fi>>n>>k;
    for (i=1; i<=n; i++)
        fi>>p[i];
    for (i=1; i<=n; i++)
        dp[i][0]=1;
    dp[1][1]=p[1];
    for (i=2; i<=n; i++)
        for (j=1; j<=i; j++)
            dp[i][j]=dp[i-1][j]+dp[i-1][j-1]*p[i];

    C[1][1]=1;
    for (i=0; i<=n; i++)
        C[i][0]=1;

    for (i=2; i<=n; i++)
        for (j=1; j<=i; j++)
            C[i][j]=C[i-1][j]+C[i-1][j-1];

    fo<<fixed<<setprecision(6)<<dp[n][k]/C[n][k];
    fi.close();
    fo.close();
    return 0;
}