Cod sursa(job #3120506)

Utilizator unomMirel Costel unom Data 7 aprilie 2023 11:19:29
Problema Dezastru Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <iomanip>
using namespace std;

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

double dp[ 27 ][ 27 ];
int kkt[ 27 ][ 27 ];
double v[ 27 ];
int n,k;

int main()
{
    f >> n >> k;

    for( int i = 1; i <= n; i++ )
        f >> v[ 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 ] * v[ i ];
        }
    }


    g << fixed << setprecision( 6 ) << dp[ n ][ k ] / (double)kkt[ n ][ k ];
    return 0;
}