Cod sursa(job #1747600)

Utilizator andru47Stefanescu Andru andru47 Data 25 august 2016 11:16:57
Problema Dezastru Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 25 + 5;
int a[NMAX],n,k,nr;
float v[NMAX],S = 0.000000;
int main() {
    freopen("dezastru.in","r",stdin);
    freopen("dezastru.out","w",stdout);
    scanf("%d %d\n",&n,&k);
    for (int i = 1; i<=n; ++i) {
        a[i] = i;
        scanf("%f",&v[i]);
    }
    do {
        float x = 1.000000;
        for (int i = 1; i<=k; ++i)
            x*=v[a[i]];
        S+=x;
        ++nr;
    } while(next_permutation(a+1,a+n+1));
    S = (float)S/nr;
    printf("%.6f", S);
    return 0;
}