Cod sursa(job #320053)

Utilizator madlexeicar md madlex Data 3 iunie 2009 12:47:50
Problema Loto Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <iostream>
#include <stdlib.h>
#include <fstream>
using namespace std;

long N,S;
long vec[100];

// --------------------------------------
int main();
int _tmain(int argc, char* argv[])
{
	return main();
}


int main()
{
	ifstream in("loto.in");
	ofstream out("loto.out");

	long i;
	long maxim;

	in >> N >> S;
	for(i = 0; i < N ;i++)
	{
		in >> vec[i];
		if( i == 0 ) maxim = vec[0];
		else if( maxim < vec[i] ) maxim = vec[i];
	}

	if( maxim * 6 == S )
	{
		out 
			<< maxim << " "
			<< maxim << " "
			<< maxim << " "
			<< maxim << " "
			<< maxim << " "
			<< maxim;
		return 0;
	}else
	if( maxim * 6 < S )
	{
		return -1;
	}

	long * end;
	long * v1,*v2,*v3,*v4,*v5,*v6;

	end = &vec[N];

	for(v1 = &vec[0]; v1 != end ; v1 ++)
		for(v2 = v1; v2 != end; v2++)
			for(v3 = v2; v3 != end; v3++)
				for(v4 = v3; v4 != end; v4++)
					for(v5 = v4; v5 != end; v5++)
						for(v6 = v5; v6 != end; v6++)
							if( (*v1 + *v2 + *v3 + *v4 + *v5 + *v6) == S )
							{
								out << *v1 << " "
									<< *v2 << " "
									<< *v3 << " "
									<< *v4 << " "
									<< *v5 << " "
									<< *v6;

								return 0;
							}


	out << -1;
	return 0;
}