Cod sursa(job #2671334)

Utilizator Snake2003lalallalal Snake2003 Data 11 noiembrie 2020 22:20:34
Problema Dezastru Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <iostream>
#include <fstream>
#include <iomanip>

#define Nmax 26

using namespace std;

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

int Stiva[Nmax];
bool Visited[Nmax];
double Numere[Nmax];
double Results[Nmax];
int ct_results;

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

double produs = 1;

void Solve( int lungime )
{
    for( int i = 1; i <= cate; ++ i )
        produs *= Numere[Stiva[i]];
    Suma += produs / 6;

}

inline void Back( int k )
{
    for( int i = Stiva[k - 1] + 1; i<= n; ++ i )
        if( !Visited[i] )
    {
        Visited[i] = true;
        Stiva[k] = i;

        if( k == n )
            Solve(k);
        else
            Back(k + 1);
        Visited[i] = false;

    }

}

int main()
{
    fin >> n >> cate;
    for( int i = 1; i <= n; ++ i )
    {
        fin >> x;
        Numere[++ ct] = x;
    }
    Back(1);
    fout << fixed << setprecision(6) << Suma;
    return 0;
}