Cod sursa(job #3134781)

Utilizator Y.MalmsteenB.P.M. Y.Malmsteen Data 30 mai 2023 22:15:39
Problema Dezastru Scor 100
Compilator cpp-64 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 P[26], sum;
int N, KK, x[26], nr;

void BT(int k, double prob)
{
    if(k <= KK)
    {
        for(int i = x[k - 1] + 1; i <= N - KK + k; ++i)
        {
            x[k] = i;
            BT(k + 1, prob * P[i]);
        }
    }
    else
    {
        sum += prob;
        ++nr;
    }
}

int main()
{
    f >> N >> KK;
    for(int i = 1; i <= N; ++i)
        f >> P[i];
    ///x[0] = 0;
    BT(1, 1.0);
    g << fixed << setprecision(6) << sum / nr;
    f.close();
    g.close();
    return 0;
}