Pagini recente » Cod sursa (job #3260328) | Cod sursa (job #577450) | Cod sursa (job #1313224) | Cod sursa (job #825373) | Cod sursa (job #38122)
Cod sursa(job #38122)
using namespace std;
#include <iostream>
int main()
{
freopen("dezastru.in", "r", stdin);
freopen("dezastru.out", "w", stdout);
long long fac = 1;
int N, K, at, j;
double A[26], p, tot(0.0);
cin >> N >> K;
for( int i = 0; i < N; i++ )
cin >> A[i];
for( int msk = 1; msk < (1<<N); ++msk )
{
for( j = at = 0; j < N; j++ )
at += ( msk >> j & 1 );
if( at != K )
continue;
p = 1.0;
for( j = 0; j < N; j++ )
if( msk >> j & 1 )
p *= A[j];
tot += p;
}
for( long long i = K + 1; i <= N; i++ )
tot /= i;
printf("%0.6lf\n", tot );
return 0;
}