Cod sursa(job #856805)

Utilizator dtoniucDaniel Toniuc dtoniuc Data 16 ianuarie 2013 22:56:23
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;

int n,k;
double c=1;
double v[30][30];
double p[30];
int main()
{
    ifstream fin("dezastru.in");
    ofstream fout("dezastru.out");
    fin>>n>>k;
    for(int i=1;i<=n;i++)
    {
        fin>>p[i];
        v[0][i]=1.0;
    }
    v[0][0]=1.0;
    for(int i=1;i<=k;i++)
        for(int j=1;j<=n;j++)
            v[i][j]=v[i][j-1]+v[i-1][j-1]*p[j];
    for(int i=k+1;i<=n;i++) c*=i;
    for(int i=1;i<=(n-k);++i) c/=i;
    fout<<fixed<<setprecision(7)<<v[k][n]/c;
    return 0;
}