Cod sursa(job #1135393)

Utilizator andreiagAndrei Galusca andreiag Data 7 martie 2014 19:46:20
Problema Dezastru Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <iostream>
#include <fstream>

using namespace std;
int N, K;

double total = 0;
double cnt = 0;
double p[30];

void dfs(double x, int lvl, int n)
{
    if (lvl == K) { total += x; cnt++; return; }
    if (N-n < K-lvl) return;
    for (int i = n; i < N; i++)
    {
        dfs(x*p[i], lvl+1, i+1);
    }
}

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

    f >> N >> K;
    for (int i = 0; i < N; i++)
        f >> p[i];

    dfs(1, 0, 0);

    g << (total / cnt) << endl;

    return 0;
}