Cod sursa(job #1874109)

Utilizator caesar2001Stoica Alexandru caesar2001 Data 9 februarie 2017 18:23:32
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <cstdio>

using namespace std;

FILE *in,*out;
int  c[26][26];
double p[26],x[26][26];

int main()
{
    in = fopen("dezastru.in","r");
    out = fopen("dezastru.out","w");
    int n,k;
    fscanf(in,"%d %d",&n,&k);
    for(int i = 1;i <= n;i ++)
        fscanf(in,"%lf",&p[i]);
    x[1][0] = 1;
    x[1][1] = p[1];
    c[1][1] = 1;
    c[1][0] = 1;
    for(int i = 2;i <= n;i ++)
    {
        x[i][0] = 1;
        c[i][0] = 1;
        for(int j = 1;j <= k;j ++)
        {
            x[i][j] = x[i-1][j-1] * p[i] + x[i-1][j];
            c[i][j] = c[i-1][j-1] + c[i-1][j];
        }
    }
    double rez;
    rez = x[n][k]/(double)c[n][k];
    fprintf(out,"%.6lf",rez);
    return 0;
}