Pagini recente » Cod sursa (job #2091129) | Cod sursa (job #500006) | Cod sursa (job #529979) | Cod sursa (job #432570) | Cod sursa (job #1728995)
# include <bits/stdc++.h>
using namespace std;
int n, k, nr_perm, i, N = 0, v[26];
double a[26], ans, nr;
vector <double> sol;
int main ()
{
freopen("dezastru.in", "r", stdin);
freopen("dezastru.out", "w", stdout);
scanf("%d %d\n", &n, &k);
for (i = 1; i <= n; ++i)
scanf("%lf ", &a[i]);
for (i = 1; i <= n; ++i)
v[i] = i;
sol.push_back(0);
do
{ nr = 1;
for (i = 1; i <= k; ++i)
nr = nr * a[v[i]];
sol.push_back(nr), ++N, ++nr_perm;
}
while (next_permutation(v + 1, v + n + 1));
ans = 0.00;
for (i = 1; i <= N; ++i)
ans += (sol[i] / nr_perm);
printf("%.6lf\n", ans);
return 0;
}