Cod sursa(job #1081235)

Utilizator The_DisturbedBungiu Alexandru The_Disturbed Data 13 ianuarie 2014 13:24:44
Problema Loto Scor 65
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<stdio.h>
struct point
{
	int s,a,b,c;
	point *y;
}*g[666013],*p;
int m,n,i,j,k,s,v[113],c,q;
int main()
{
	freopen("loto.in","r",stdin);
	freopen("loto.out","w",stdout);
	scanf("%d%d",&n,&s);
	for(i=0;i<n;++i)scanf("%d",&v[i]);
	for(i=0;i<n;++i)
		for(j=i;j<n;++j)
			for(k=j;k<n;++k)
			{
				p=new point;
				p->a=v[i];
				p->b=v[j];
				p->c=v[k];
				p->s=v[i]+v[j]+v[k];
				p->y=g[(p->s)%666013];
				g[(p->s)%666013]=p;
			}
	for(i=0;i<n;++i)
		for(j=i;j<n;++j)
			for(k=j;k<n;++k)
			{
				c=s-v[i]-v[j]-v[k];
				q=c%666013;
				for(p=g[q];p!=NULL;p=p->y)
				{
					if(p->s==c)
					{
						printf("%d %d %d %d %d %d",p->a,p->b,p->c,v[i],v[j],v[k]);
						return 0;
					}
				}
			}
	printf("-1");
	return 0;
}