Cod sursa(job #2745380)

Utilizator wildcolaSTEFAN PLACINTESCU wildcola Data 26 aprilie 2021 14:21:59
Problema Loto Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <bits/stdc++.h>

using namespace std;

int v[101];
int n, s;
bool ok=0;

void bkt(int k, int sum, int sol[7])
{
    for(int i=n; i>0 && k<=6 && ok==0; --i)
    {
        if(sum+v[i] == s && k==6)
        {
            ok=1;
            sol[k]=v[i];
            return;
        }

        if(sum+v[i] < s)
        {
            sol[k]=v[i];
            bkt(k+1, sum+v[i], sol);
        }
    }
}

int main()
{
    freopen("loto.in", "r", stdin);
    freopen("loto.out", "w", stdout);


    scanf("%d %d", &n, &s);

    for(short i=1; i<=n; ++i)
    {
        scanf("%d", &v[i]);
    }

    sort(v, v+n);

    int sol[7];
    bkt(1, 0, sol);

    if(ok==0)
        printf("%d", -1);
    else
        for(int i=1; i<=6; ++i)
            printf("%d ", sol[i]);
    return 0;
}