Cod sursa(job #1995772)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 29 iunie 2017 06:55:09
Problema Dezastru Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <iostream>
#include <iomanip>

using namespace std;

ifstream f("dezastru.in");
ofstream g("dezastru.out");

double a[30];
long double avg;
int v[30], n, k, i;
long long Ref, nr;

inline void bkt(int x, double s) {
    int i;
    if (x == k+1) {
        nr++;
        avg += s;
        return;
    }
    for (i = v[x-1]+1; i <= n-(k-x); i++) {
        v[x] = i;
        bkt(x+1, s*a[v[x]]);
    }
}

int main() {
    f >> n >> k;
    Ref = 1;
    for (i = 2; i <= k; i++)
        Ref *= i;
    for (i = 1; i <= n; i++)
        f >> a[i];

    bkt(1, 1);
    g << fixed << setprecision(6) << avg/nr;
}