Cod sursa(job #578265)

Utilizator predator5047Butiu Alexandru Octavian predator5047 Data 11 aprilie 2011 10:18:54
Problema Loto Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<iostream.h>
#include<fstream.h>

ifstream g("loto.in");
ofstream z("loto.out");
long int n,v[50],st[50],max=-5471,s,ok=1,s2=0;
void afisare()
{
	int i;
	for(i=1;i<=6;i++)
		z<<st[i]<<" ";
	ok=0;
}
void back(int niv)
{
	int i;
	if(ok==1)
	for(i=1;i<=n;i++)
	{
	if(ok==1)
		if(s2+v[i]<=s)
		{
			st[niv]=v[i];
		    s2+=v[i];
			if(niv==6 && s2==s&&ok==1)
			{	afisare();
			z.close();
			return ;
			
			}
		
			else{
				back(niv+1);
			s2=s2-v[i];
			}
		}
		else
			return ;
		
	}
	else return ;
}
int main ()
{
	int i,l=1,aux,k=0;
	g>>n>>s;
	for(i=1;i<=n;i++)
	{
		g>>v[i];
		if(max<v[i])
			max=v[i];
	}
	g.close();
	do
	{
		l=1;
		for(i=1;i<n-k;i++)
			if(v[i]>v[i+1])
			{
				aux=v[i];
				v[i]=v[i+1];
				v[i+1]=aux;
				l=0;
			}
		k++;
		
		
	}while(l==0);
	back(1);
	if(ok==1){
		z<<"-1";
	z.close();
	}
	
	
	return 0;
}