Pagini recente » Cod sursa (job #341499) | Cod sursa (job #695381) | Cod sursa (job #1128955) | Cod sursa (job #389455) | Cod sursa (job #62615)
Cod sursa(job #62615)
using namespace std;
#include <iostream>
int N, K;
double A[28], p, tot(0.0);
void baga( int pos, int left )
{
if( left == 0 )
{
tot += p;
return;
}
if( pos >= N )
return ;
if( pos + left > N )
return ;
baga( pos + 1, left );
p *= A[pos];
baga( pos + 1, left - 1 );
p /= A[ pos ];
}
int main()
{
freopen("dezastru.in", "r", stdin);
freopen("dezastru.out", "w", stdout);
cin >> N >> K;
for( int i = 0; i < N; i++ )
cin >> A[i];
if( K == 0 )
{ printf("1.0\n"); return 0; }
p = 1.0;
baga( 0, K );
for( int i = K + 1; i <= N; i++ )
tot /= i;
printf("%0.6lf\n", tot );
return 0;
}