Cod sursa(job #2671361)

Utilizator Snake2003lalallalal Snake2003 Data 11 noiembrie 2020 22:53:40
Problema Dezastru Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>

#define Nmax 26

using namespace std;

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

int Stiva[Nmax];
float Numere[Nmax];
double Results[Nmax];

int ct_results;

int n, cate, cate_numere;
double x, Suma;

inline void Back( int k )
{
    for( int i = Stiva[k - 1] + 1; i <= n; ++ i )
    {
        Stiva[k] = i;
        Results[k] = Results[k - 1] * Numere[i];

        if( k >= cate )
            Suma += Results[k], cate_numere ++;
        else
            Back(k + 1);
    }

}

int main()
{
    fin >> n >> cate;
    for( int i = 1; i <= n; ++ i )
        fin >> Numere[i];

    Results[0] = 1;

    Back(1);

    fout << setprecision(6) << (double)Suma / cate_numere;
    return 0;
}