Cod sursa(job #1217767)

Utilizator xtreme77Patrick Sava xtreme77 Data 8 august 2014 02:48:26
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
#include <iomanip>

const char IN [ ] = "dezastru.in" ;
const char OUT [ ] = "dezastru.out" ;
const int MAX = 14 << 1 ;

using namespace std;

ifstream fin ( IN ) ;
ofstream fout ( OUT ) ;

int comb [ MAX ][ MAX ] ;
double  sol [ MAX ] [ MAX ] , prob [ MAX ] ;

int main( )
{
    int n , k ;
    fin >> n >> k ;
    for ( int i = 1 ; i <= n ; ++ i )
        fin >> prob [ i ] ;
    for ( int i = 0; i <= n ; ++ i ){
        comb [ i ] [ 0 ] = 1 ;
        sol  [ i ] [ 0 ] = 1 ;
        if ( i > 0 )
            for ( int j = 1; j <= k ; ++ j ){
                sol [ i ] [ j ] = sol [ i - 1 ] [ j ] + sol [ i - 1 ] [ j - 1 ] * prob [ i ] ;
                comb [ i ] [ j ] = comb [ i - 1 ] [ j ] + comb [ i - 1 ] [ j - 1 ] ;
            }
    }
    fout << fixed << setprecision(6) << (float) sol [ n ] [ k ] / comb [ n ] [ k ] ;
    return 0;
}