Cod sursa(job #1995779)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 29 iunie 2017 07:03:46
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>
#include <iostream>
#include <iomanip>

using namespace std;

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

double a[40], avg;
int n, k, i, nr;

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

int main() {
    f >> n >> k;

    for (i = 1; i <= n; i++)
        f >> a[i];

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