Cod sursa(job #196839)

Utilizator devilkindSavin Tiberiu devilkind Data 29 iunie 2008 16:17:16
Problema Loto Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <stdio.h>
#include <map>

using namespace std;

#define NMAX 200
#define mp make_pair
#define ff first
#define ss second

long int n;
long int v[NMAX];
map<int, pair< int, pair<int,int> > > h;
map<int, int> ex;

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

	long int i,j,k,s,nr;

	scanf("%ld %ld",&n,&nr);

	for (i=1;i<=n;i++) scanf("%ld ",&v[i]);
	
	for (i=1;i<=n;i++)
		for (j=i;j<=n;j++)
			for (k=j;k<=n;k++)
			{
				s=v[i]+v[j]+v[k];
				ex[s]=1;
				h[s]=mp( v[i], mp( v[j], v[k] ) );
			}

	for (i=1;i<=n;i++)
		for (j=i;j<=n;j++)
			for (k=j;k<=n;k++)
			{
				s=v[i]+v[j]+v[k];
				if (ex[nr-s]) {printf("%ld %ld %ld %ld %ld %ld",v[i],v[j],v[k],h[nr-s].ff,h[nr-s].ss.ff,h[nr-s].ss.ss);return 0;}
			}
	
	printf("-1");
	return 0;
}