Cod sursa(job #2108678)

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

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

double sol = 0, v[30];
int n, m, st[30], nrf = 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;
        nrf++;
        return;
    }
    for ( register int i = s + 1 ; i <= n - m + k ; i++ )
    {
        bkt(k + 1, i, sum*v[i]);
    }
}

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

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