Cod sursa(job #3303248)

Utilizator eric.mesterEric Mestereaga eric.mester Data 14 iulie 2025 21:21:04
Problema Dezastru Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>
#define NMAX 27

using namespace std;

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

int N,K;
double arr[NMAX];
int a[NMAX];
double ans,coef;

void afis()
{
    double prod=1;
    for(int i=1;i<=K;i++){
        prod*=arr[a[i]];
    }
    ans+=prod;
    return;
}

void combi(int k=0,int last=0)
{
    if(k==K){
        afis();
        return;
    }
    k++;
    for(int i=last+1;i<=N;i++){
        a[k]=i;
        combi(k,i);
        a[k]=0;
    }
    return;
}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    fin >> N >> K;
    for(int i=1;i<=N;i++){
        fin >> arr[i];
    }
    coef=1;
    for(int i=K+1;i<=N;i++){
        coef*=i;
    }
    combi();
    fout << ans/coef;
    return 0;
}