Pagini recente » Cod sursa (job #1101594) | Cod sursa (job #2358273) | Cod sursa (job #3213119) | Cod sursa (job #255251) | Cod sursa (job #1081235)
#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;
}