Cod sursa(job #2666051)

Utilizator denisppPatru Denis denispp Data 31 octombrie 2020 19:03:18
Problema Dezastru Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>
using namespace std;

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

int n, x[30], p, ct;
double sol[30], s, prob[30];
void backt(int k)
{
    for(int i = x[k - 1] + 1; i <= n; i++)
    {
        x[k] = i, prob[k] = prob[k - 1] * sol[i];

        if(k >= p)    s += prob[k], ct++;
        else        backt(k + 1);
    }
}
int main()
{
    f >> n >> p;
    for(int i = 1; i <= n; i++)
        f >> sol[i];
    
    prob[0] = 1;
    backt(1);
    g << s / ct;
    return 0;
}