Pagini recente » Cod sursa (job #1075387) | Cod sursa (job #107750) | Cod sursa (job #708281) | Cod sursa (job #3201797) | Cod sursa (job #2567306)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int N, K;
long double a[30];
vector < long double > P;
long double x;
int mex;
void Back( int k )
{
for( int i = mex+1; i <= N; ++i )
{
//cout << a[i]<< ' ';
int c = mex;
x = x*a[i];
mex = i;
if( k == K )
P.push_back( x );
else Back( k+1 );
mex = c;
x = x/a[i];
}
}
void Solve()
{
fin >> N >> K;
for( int i = 1; i <= N; ++i )
fin >> a[i];
x = 1;
Back( 1 );
x = 0;
for( int i = 0; i < P.size(); ++i )
x = x+P[i];
//fout << fixed << setprecision( 6 ) << x << '\n';
x = x/ double(P.size());
fout << fixed << setprecision( 6 ) << x;
}
int main()
{
Solve();
return 0;
}