Cod sursa(job #3153980)

Utilizator SerbanCaroleSerban Carole SerbanCarole Data 2 octombrie 2023 16:23:37
Problema Dezastru Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#include <iomanip>
using namespace std;
ifstream cin("dezastru.in");
ofstream cout("dezastru.out");
using pii = pair<int,int>;
int n , k , ind , l , ans[26] , hm;
double v[26] , sum;
bool tk[26];
void b()
{
    ++ind;
    if(ind > k)
    {
        double prod=1;
        for(int i = 1 ; i <= k ; i++)
        {
            prod *= v[ans[i]];
        }
        hm++;
        sum+=prod;
        ind--;
        return;
    }
    int og = l;
    for(int i = l+1 ; i <= n-k+ind ; i++)
    {
            l = i;
            ans[ind] = i;
            b();
            l = og;
    }
    ind--;
}
signed main()
{
    cin >> n >> k;
    for(int i = 1 ; i <= n ; i++) cin >> v[i];
    b();
    cout << fixed << setprecision(12) << sum/hm;
    return 0;
}