Pagini recente » Cod sursa (job #2132889) | Cod sursa (job #2792846) | Cod sursa (job #244913) | Cod sursa (job #1239288) | Cod sursa (job #3036749)
#include <fstream>
using namespace std;
ifstream fin( "dezastru.in" );
ofstream fout( "dezastru.out" );
double dp[ 27 ][ 27 ];
int kkt[ 27 ][ 27 ];
double P[ 27 ];
int n,k;
int main()
{
fin >> n >> k;
for( int i = 1; i <= n; i++ )
fin >> P[ i ];
for( int i = 0; i <= n; i++ )
kkt[ i ][ 0 ] = dp[ i ][ 0 ] = 1;
for( int i = 1; i <= n; i++ )
for( int j = 1; j <= i; j++ ) {
kkt[ i ][ j ] = kkt[ i - 1 ][ j ] + kkt[ i - 1 ][ j - 1 ];
dp[ i ][ j ] = dp[ i - 1 ][ j ] + dp[ i - 1 ][ j - 1 ] * P[ i ];
}
fout << fixed << setprecision( 6 ) << dp[ n ][ k ] / (double)kkt[ n ][ k ];
return 0;
}