Cod sursa(job #1886522)

Utilizator tziplea_stefanTiplea Stefan tziplea_stefan Data 20 februarie 2017 22:30:04
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>
#include <iomanip>
#define VAL 35

using namespace std;

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

int N, K, i, j;
double dp[VAL][VAL];
double P[VAL], nr=1;

int main()
{
    fin >> N >> K;
    for (i=1; i<=N; i++)
    {
        fin >> P[i];
        dp[i-1][0]=1;
    }
    dp[1][1]=P[1];
    for (i=1; i<=N; i++)
      for (j=1; j<=N; j++)
        dp[i][j]=dp[i-1][j]+dp[i-1][j-1]*P[i];
    for (i=K+1; i<=N; i++)
      nr*=i;
    for (i=1; i<=N-K; i++)
      nr/=i;
    dp[N][K]/=nr;
    fout << fixed << setprecision(7) << dp[N][K] << '\n';
    fin.close();
    fout.close();
    return 0;
}