Cod sursa(job #717451)
#include <fstream>
#include <cstdio>
using namespace std;
int n, m, nrc, m1;
double a[28], sol;
void Read()
{
ifstream f("dezastru.in");
f>>n>>m;
int i;
for (i=1; i<=n; i++)
f>>a[i];
f.close();
}
void back(int k, int s, double sum)
{
if (k == m1)
{
sol += sum;
nrc++;
}
else
{
int i;
for (i=s + 1; i<=n-m+k; i++)
{
back(k+1, i, sum*a[i]);
}
}
}
void Solve()
{
m1 = m+1;
back(1, 0, 1);
}
void Write()
{
ofstream g("dezastru.out");
g<<sol/nrc<<"\n";
g.close();
}
int main()
{
Read();
Solve();
Write();
return 0;
}