Pagini recente » Cod sursa (job #2520077) | Cod sursa (job #417292) | Cod sursa (job #2301794) | Cod sursa (job #2762981) | Cod sursa (job #807511)
Cod sursa(job #807511)
#include <cstdio>
#include <cstdlib>
using namespace std;
#define NMAX 32
int v[NMAX];
float P[NMAX];
int N, K;
double s = 0;
long long n = 0;
bool b[NMAX];
inline void back(int i, float p)
{
if(i > K)
{
s += p;
++n;
return;
}
for(int j = 1; j <= N; ++j)
if(b[j] == false)
{
b[j] = true;
back(i+1, p * P[j]);
b[j] = false;
}
}
int main(){
freopen( "dezastru.in", "rt", stdin );
freopen("dezastru.out", "wt", stdout );
scanf("%d %d", &N, &K);
for(int i = 1; i <= N; ++i)
scanf("%f", &P[i]);
back(1, 1);
printf("%.6f", s/n);
return 0;
}