Pagini recente » Cod sursa (job #1136318) | Clasamentul arhivei de probleme | Cod sursa (job #1285886) | Cod sursa (job #375359) | Cod sursa (job #3225215)
#include <iostream>
#include <fstream>
#include <iomanip>
#define NMAX 25
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int a[NMAX];
int i, n, K, nrpermutari;
double v[NMAX], ans;
void bkt(int k, double p)
{
int i;
for (i = a[k-1]+1; i <= n; i++)
{
a[k] = i;
if (k == K)
{
ans += p*v[a[k]];
nrpermutari++;
}
else
bkt(k+1, p*v[a[k]]);
}
}
int main()
{
f >> n >> K;
for (i = 1; i <= n; i++)
f >> v[i];
bkt(1, 1);
g << fixed << setprecision(6) << ans/nrpermutari;
f.close();
g.close();
return 0;
}