Cod sursa(job #200842)

Utilizator IrnukIrina Grosu Irnuk Data 26 iulie 2008 23:53:57
Problema Loto Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
/*loto*/

#include<fstream.h>

unsigned long v[101],a[101],S;
int n,ok;
ifstream fin("loto.in");
ofstream fout("loto.out");

void citire()
{
	int i;
	fin>>n>>S;
	for(i=0;i<n;i++)
		fin>>a[i];
}

void prelucrare()
{
	unsigned long s=0;
int i;
	for(i=0;i<6;i++)
		s+=v[i];
	if(S==s)
	{
		for(i=0;i<6;i++)
			fout<<v[i]<<" ";
		fout<<'\n';
		ok=1;
	}
}

int valid(int k)
{
	unsigned long s=0;
	int i;
	for(i=0;i<k;i++)
		s+=v[i];
	if(s+v[k]>S) return 0;
	return 1;
}

void back(int k)
{
	int i;
	for(i=0;i<n&&ok==0;i++)
	{
		v[k]=a[i];
		if(valid(k)==1)
			if(k==5 && ok==0)
				prelucrare();
			else
				back(k+1);
	}
}

int main()
{
	citire();
	back(0);
	if(ok==0)
		fout<<"-1\n";
	fout.close();
	return 0;
}