Pagini recente » Cod sursa (job #2160361) | Cod sursa (job #2907542) | Cod sursa (job #1257717) | Cod sursa (job #2381872) | Cod sursa (job #3232766)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("dezastru.in");
ofstream fout ("dezastru.out");
int N, K;
double v[30];
int step[30];
double s = 0;
int cnt = 0;
int folosit[30];
int poz[30];
double p = 1;
void rezolvare(int step)
{
if(step > K)
{
p = 1;
for(int i = 1; i <= K; i++)
{
p = p*v[poz[i]];
}
s = s + p;
cnt++;
return;
}
for(int i = 0; i < N; i++)
{
if(folosit[i] == 0)
{
poz[step] = i;
folosit[i] = 1;
rezolvare(step + 1);
folosit[i] = 0;
}
}
}
int main()
{
fin >> N >> K;
for(int i = 0; i < N; i++)
{
cin >> v[i];
}
rezolvare(1);
fout << fixed << setprecision(9);
fout << s / cnt;
return 0;
}