Pagini recente » Cod sursa (job #101903) | Cod sursa (job #1975803) | Cod sursa (job #1116393) | Cod sursa (job #455134) | Cod sursa (job #2335407)
#include <bits/stdc++.h>
#define ll long long
using namespace std ;
const int N = 30 ;
ifstream in ("dezastru.in") ;
ofstream out ("dezastru.out") ;
int n , k ;
double d [ N ] , cmb ;
void comb ( )
{
cmb = n - k + 1 ;
for ( int i = 2 ; i <= k ; ++ i)
cmb *= ( n - k + i ) , cmb /= i ;
}
int main ()
{
float dd [ N ][ N ] ;
dd [ 0 ][ 0 ] = 1 ;
in >> n >> k ;
for ( int i = 1 ; i <= n ; ++ i ) in >> d [ i ] , dd [ i ][ 0 ] = 1 ;
for ( int i = 1 ; i <= n ; ++ i )
for ( int j = 1 ; j <= i ; ++ j )
{
dd [ i ][ j ] = dd [ i - 1 ][ j - 1 ] * d [ i ] + dd [ i - 1 ][ j ] ; // pascal
}
comb() ;
out << setprecision( 6 ) << fixed << dd [ n ][ k ] / cmb << "\n" ;
return 0 ;
}