Cod sursa(job #2258482)

Utilizator bojemoiRadu Mamaliga bojemoi Data 11 octombrie 2018 15:37:06
Problema Dezastru Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>

using namespace std;

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

int n, k;
double com[18][18];
double pos[18][18], p[18];

int main()
{

    fin>>n>>k;

    for(int i = 1; i<=n; ++i) fin>>p[i];

    for(int i = 0; i<=n; ++i){
                com[i][0] = 1;
                com[i][i] = 1;
    }
    for(int i = 1; i<=n; ++i){
        for(int j = 1; j<i; ++j){
            com[i][j] = com[i-1][j-1] + com[i-1][j];
        }
    }


    pos[1][1] = p[1];

    for(int i = 2; i<=n; ++i){
        pos[i][1] = pos[i-1][1] + p[i];
    }




    for(int i = 1; i<=n; ++i){
        for(int j = 2; j<=i; ++j){
            pos[i][j] = pos[i-1][j] + pos[i-1][j-1]*p[i];
        }
    }
    fout<<pos[n][k]/com[n][k];










    return 0;
}