Cod sursa(job #2521018)

Utilizator mirceatlxhaha haha mirceatlx Data 10 ianuarie 2020 11:13:15
Problema Dezastru Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 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){
                num++;
                ans += ntemp;
            }
            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;
}