Cod sursa(job #2032171)

Utilizator dadadadaNUdada dada dadadadaNU Data 4 octombrie 2017 17:39:45
Problema Loto Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream in("loto.in");
ofstream out("loto.out");

int n, s, s_verif, p, OK, VERIF;
int v[110], a[10];


void backtracking (int k)
{
    if (OK == 0)
    {

        if (k == 7)
        {
            s_verif = 0;

            for (int i = 1; i <= 6; i++)
                s_verif = s_verif + a[i];

            if(s_verif == s)
            {
                VERIF = 1;

                for (int i = 1; i <= 6; i++)
                    out << a[i] << ' ';

                OK = 1;
            }

            if (s_verif > s)
                OK = 1;

        }

        else

        {
            for (int i = 1; i <= p; i++)
            {
                a[k] = v[i];

                backtracking(k + 1);
            }
        }

    }
}

int main()
{
    in >> n >> s;

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

        if (v[i] <= s)
            v[++p] = v[i];
    }

    sort (v + 1, v + p + 1);

    backtracking (1);

    if (VERIF == 0)
        out << -1;

    return 0;
}