Cod sursa(job #2652249)

Utilizator Razvan48Capatina Razvan Nicolae Razvan48 Data 24 septembrie 2020 17:07:25
Problema Loto Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>

using namespace std;

const int NMAX = 100;
int v[1 + NMAX];

int sol[7];

int n, s;
bool gasit = false;
int suma_crt;

void back(int index)
{
    if (index > 6)
    {
        if (suma_crt == s)
        {
            gasit = true;
        }
        return;
    }
    else
    {
        for (int i = 1; i <= n; i++)
        {
            sol[index] = i;
            suma_crt += v[i];
            back(index + 1);
            if (gasit)
            {
                return;
            }
            suma_crt -= v[i];
        }
    }
}

int main()
{
    ifstream in("loto.in");
    ofstream out("loto.out");

    in >> n >> s;
    for (int i = 1; i <= n; i++)
    {
        in >> v[i];
    }

    back(1);

    if (!gasit)
    {
        out << -1;
    }
    else
    {
        for (int i = 1; i <= 6; i++)
        {
            out << v[sol[i]] << ' ';
        }
    }

    return 0;
}