Cod sursa(job #2521015)

Utilizator mirceatlxhaha haha mirceatlx Data 10 ianuarie 2020 11:09:39
Problema Dezastru Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#define NMAX 30
using namespace std;

ifstream fin("dezastru.in");
ofstream fout("dezastru.out");

int N, K, num;
double ans, ntemp;
double arr[NMAX];
int perm[NMAX];

void BKT(int k, double temp)
{
    {
        for(int i = perm[k - 1] + 1; i <= N; i++){
            perm[k] = i;
            ntemp = temp * arr[perm[k]];
            if(k == K){
                //cout << temp << " ";
                num++;
                ans += temp;
            }
            else
                BKT(k + 1, ntemp);
        }
    }
    
}

int main()
{
    fin >> N >> K;
    for(int i = 1; i <= N; i++){
        fin >> arr[i];
    }
    BKT(1,double(1.0));
    ans /= num;
    fout << ans << "\n";
    return 0;
}