Cod sursa(job #2521011)

Utilizator mirceatlxhaha haha mirceatlx Data 10 ianuarie 2020 11:04:07
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;
double arr[NMAX];
int perm[NMAX];

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