Cod sursa(job #2014942)

Utilizator SCatalinStanciu Catalin SCatalin Data 24 august 2017 18:00:54
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 in("dezastru.in");
ofstream out("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() {
    in >> n >> k;
    for (i = 1; i <= n; i++)
        in >> a[i];
    bkt(0, 0, 1);
    out << fixed << setprecision(6) << (avg/nr);
}