Cod sursa(job #1008534)

Utilizator bghimisFMI Ghimis Bogdan bghimis Data 11 octombrie 2013 10:37:47
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <cstdio>
#include <iostream>
#include <set>
using namespace std;

int main()
{
	freopen("loto.in",  "r", stdin );
	freopen("loto.out", "w", stdout);

	int n, sumpart, v[101];
	int i, j, k, p, q, r;
	set<int> sume_part;

	cin >> n >> sumpart;
	for (i = 0; i < n; ++i)
		cin >> v[i];

	for (i = 0; i < n; ++i)
		for (j = i; j < n; ++j)
			for (k = j; k < n; ++k)
				sume_part.insert(v[i] + v[j] + v[k]);

			
	for (i = 0; i < n; ++i)
		for (j = i; j < n; ++j)
			for (k = j; k < n; ++k)
			{
				set<int>::iterator it = sume_part.find(sumpart - v[i] - v[j] - v[k]);
				if(it != sume_part.end() && v[i] + v[j] + v[k] < sumpart)
				{
					for (p = 0; p < n; ++p)
						for (q = 0; q < n; ++q)
							for (r = 0; r < n; ++r)
								if (v[i] + v[j] + v[k] + v[p] + v[q] + v[r] == sumpart)
								{
									cout << v[i] << " " << v[j] << " " << v[k] << " "
										 << v[p] << " " << v[q] << " " << v[r];
									return 0;
								}
				}
			}

	cout << -1;

	return 0;
}