Cod sursa(job #1667062)

Utilizator TudorFinaruTudor Cristian Finaru TudorFinaru Data 28 martie 2016 17:01:24
Problema Loto Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int v[102],s[600001],n,ss,afisat;


void afis(int k)
{
    int i;
    for(i=1;i<=k;i++) g<<s[i]<<' ';
    g<<'\n'; afisat=1;
}

int valid(int x, int k, int suma)
{
    if(suma<=ss) return 1;
    return 0;
}

void backtr(int k)
{
    int i,j,suma;
    for(i=1;i<=n;i++)
    {
        if(afisat) return;
        s[k]=v[i];
        suma=0;
        for(j=1;j<=k;j++) suma+=s[j];
        if(valid(s[k], k,suma))
        {
            suma=0;
            for(j=1;j<=k;j++) suma+=s[j];
            if(k==6 && suma==ss) afis(k);
            else backtr(k+1);
        }
    }
}

int main()
{
    int i;
    f>>n>>ss;
    for(i=1;i<=n;i++) f>>v[i];
    backtr(1);
    if(afisat==0) g<<-1<<'\n';
    f.close();
    g.close();
    return 0;
}