Cod sursa(job #2108674)

Utilizator tiberiu392Tiberiu Ungurianu tiberiu392 Data 18 ianuarie 2018 18:21:17
Problema Dezastru Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <iomanip>
#include <fstream>

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

double sol = 0, v[30];
int n, m,st[30], nFact = 0;

void citeste()
{
    f >> n >> m;
    for (int i = 1;i <= n;i++)
        f >> v[i];

}

void bkt(int k, int s, double sum)
{
    if (k > m)
    {
        sol += sum;
        nFact++;
        return;
    }
    for ( int i = s + 1;i <= n - m + k; ++i)
    {
        bkt(k + 1, i, sum*v[i]);
    }
}

void scrie()
{
    g << setprecision(6) << sol / nFact << "\n";

}

int main()
{
    citeste();
    bkt(1, 0, 1);
    scrie();
    return 0;
}