Cod sursa(job #1761707)

Utilizator denniscrevusDennis Curti denniscrevus Data 22 septembrie 2016 18:54:24
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <iomanip>
#define NMAX 100

using namespace std;

ifstream f("dezastru.in");
ofstream g("dezastru.out");

int i, j, n, k;
long long pasc[NMAX][NMAX];
double v[NMAX], d[NMAX][NMAX];

void margini()
{
    i=0;

    for(j=0;j<=50;j++)
        d[i][j]=1;

    for(j=0;j<=50;j++)
        d[j][i]=1;
}

void citire()
{
    f>>n>>k;

    for(i=1;i<=n;i++)
        f>>v[i];
}

void construire()
{
    d[1][1]=v[1];
    for(i=2;i<=n;i++)
        for(j=1;j<=i;j++)
            d[i][j] = d[i-1][j] + v[i]*d[i-1][j-1];




}

void pascal()
{
    pasc[0][0]=1;
    for(i=1;i<=NMAX-1;i++)
        for(j=1;j<=i;j++)
            pasc[i][j]=pasc[i-1][j]+pasc[i-1][j-1];
}

int main()
{
    citire();
    margini();
    construire();
    pascal();
    g<<fixed<<setprecision(7)<<d[n][k]/pasc[n+1][k+1];
}