Cod sursa(job #1729032)

Utilizator vladdy47Bucur Vlad Andrei vladdy47 Data 14 iulie 2016 00:30:25
Problema Dezastru Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
# include <bits/stdc++.h>

using namespace std;

int n, k, nr_perm, i, N = 0, v[26];
double a[26], ans, 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;

    nr_perm  = 1, ans = 0.00;

    for (i = 2; i <= n; ++i)
        nr_perm *= i;

    do
    {   nr = 1;

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

        ans += (nr / nr_perm);
    }
    while (next_permutation(v + 1, v + n + 1));

    printf("%.6lf\n", ans);

    return 0;

}