Cod sursa(job #2540531)

Utilizator Rares31100Popa Rares Rares31100 Data 7 februarie 2020 12:17:46
Problema Loto Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;

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

int n,a[101],s;
int ok=-1,sol[7];

void cauta(int pozSol=1,int suma=0)
{
    if(pozSol>6)
    {
        if(suma==s)
            ok=1;

        return;
    }

    for(int i=n;i>=1 && ok==-1;i--)
    {
        if(suma+a[i]>s)
            continue;

        sol[pozSol]=a[i];

        cauta(pozSol+1,suma+a[i]);
    }
}

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

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

    sort(a+1,a+1+n);

    cauta();

    if(ok==-1)
        out<<ok;
    else
        for(int i=1;i<=6;i++)
            out<<sol[i]<<' ';

    return 0;
}