Cod sursa(job #1727879)

Utilizator vladdy47Bucur Vlad Andrei vladdy47 Data 11 iulie 2016 20:05:49
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
# include <bits/stdc++.h>

using namespace std;

int n, k, nr_perm, i, N = 0, v[26];
double a[26], ans, sol[26], nr;

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;

    do
    {   nr = 1;

        for (i = 1; i <= k; ++i)
            nr = nr * a[v[i]];

        sol[++N] = nr, ++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;

}