Pagini recente » Cod sursa (job #1101024) | Cod sursa (job #1740981) | Cod sursa (job #2451296) | Cod sursa (job #482833) | Cod sursa (job #1217767)
#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;
}