Cod sursa(job #421948)

Utilizator tudalexTudorica Constantin Alexandru tudalex Data 21 martie 2010 21:26:00
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <map>
#include <stdio.h>
using namespace std;

const int n_max = 128;
map < int, pair < int, pair <int, int> > > m;
int a[n_max];
int main()
{
	int n, s;
	freopen("loto.in","r",stdin);
	freopen("loto.out","w",stdout);
	scanf("%d %d", &n, &s);
	for (int i = 1; i <= n; ++ i)
		scanf("%d", &a[i]);
	for (int i = 1; i <= n; ++ i)
		for (int j = i; j <= n; ++ j)
			for (int k = j; k <= n; ++ k)
			{
				m[a[i]+a[j]+a[k]] = make_pair(i,make_pair(j,k));
				if (m.find(s-a[i]-a[j]-a[k])!=m.end())
				{
					int p = s-a[i]-a[j]-a[k];
					printf("%d %d %d %d %d %d",a[i],a[j],a[k],a[m[p].first],a[m[p].second.first],a[m[p].second.second]);
					return 0;
				}
			}

	printf("-1");
	return 0;
}