Cod sursa(job #1315352)

Utilizator donjuanDon Juan donjuan Data 12 ianuarie 2015 19:14:19
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#undef __STRICT_ANSI__
#include<cstdio>
#include<unordered_map>
using namespace std;

int x[101],n,m,s,s1max;
struct suma{
	int t1,t2,t3;
};

suma make_suma(int i,int j,int k)
{
	suma e;
	e.t1=i;e.t2=j;e.t3=k;
	return e;
}
unordered_map<int,suma> a;
int main()
{
	freopen("loto.in","r",stdin);
	freopen("loto.out","w",stdout);
	scanf("%d %d",&n,&s);
	
	for(int i=1;i<=n;++i)
		scanf("%d",&x[i]);
	
	for(int i=1;i<=n;++i)
			for(int j=i;j<=n;++j)
				for(int k=j;k<=n;++k)
				{
					int s1;
					s1=x[i]+x[j]+x[k];
					a[s1]=make_suma(x[i],x[j],x[k]);
					if(a.find(s-s1)!=a.end())
					{
						printf("%d %d %d %d %d %d",x[i],x[j],x[k],a[s-s1].t1,a[s-s1].t2,a[s-s1].t3);
						return 0;
					}
				}
	printf("-1");
	return 0;
}