Pagini recente » Cod sursa (job #2291894) | Cod sursa (job #1466615) | Cod sursa (job #2601527) | Cod sursa (job #1001998) | Cod sursa (job #1135393)
#include <iostream>
#include <fstream>
using namespace std;
int N, K;
double total = 0;
double cnt = 0;
double p[30];
void dfs(double x, int lvl, int n)
{
if (lvl == K) { total += x; cnt++; return; }
if (N-n < K-lvl) return;
for (int i = n; i < N; i++)
{
dfs(x*p[i], lvl+1, i+1);
}
}
int main()
{
ifstream f ("dezastru.in");
ofstream g ("dezastru.out");
f >> N >> K;
for (int i = 0; i < N; i++)
f >> p[i];
dfs(1, 0, 0);
g << (total / cnt) << endl;
return 0;
}