Cod sursa(job #1561122)

Utilizator jurjstyleJurj Andrei jurjstyle Data 3 ianuarie 2016 18:00:20
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>

using namespace std ;

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

#define eps 1e-6

int N , K  ;
double v[27] , a[28][28] ;

double comb ( int n , int k )
{
 double aux = 1 ;
 for ( int i = k + 1 ; i <= n ; ++i )
    aux *= i ;
 for ( int i = 2 ; i <= n - k ; ++i )
    aux /= i ;
 return aux ;
}

int main ()
{
 f >> N >> K ;
 for ( int i = 1 ; i <= N ; ++i )
    f >> v[i] ;
 //programare dinamica
 a[1][0] = 1 ;
 a[1][1] = v[1] ;
 for ( int i = 2 ; i <= N ; ++i )
    {
     a[i][0] = 1 ;
     for ( int j = 1 ; j <= K ; ++j )
        a[i][j] = a[i-1][j] + v[i] * a[i-1][j-1] ;
    }
 g << a[N][K] / comb ( N , K ) ;
}