Pagini recente » Cod sursa (job #2607450) | Cod sursa (job #2060231) | Cod sursa (job #2136205) | Cod sursa (job #1792888) | Cod sursa (job #1624241)
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n, k, i, j;
double a[26], s;
int b[26];
unsigned long long nf;
void back(int t)
{
int i;
if (t == k+1)
{
double p = 1;
for (i = 1; i <= k; i++)
p *= a[b[i]];
s += (2*p);
}
else
{
for (i = b[t-1]+1; i <= n; i++)
{
b[t] = i;
back(t+1);
}
}
}
int main()
{
f >> n >> k;
for (i = 1, nf = 1; i <= n; i++)
nf *= i;
for (i = 1; i <= n; i++)
f >> a[i];
back(1);
g <<fixed<<setprecision(6)<<(double) s/nf;
return 0;
}