Pagini recente » Cod sursa (job #2838753) | Cod sursa (job #508790) | Cod sursa (job #1613892) | Cod sursa (job #3216838) | Cod sursa (job #639663)
Cod sursa(job #639663)
#include <stdio.h>
#include <vector>
#define p 666013
#define nmax 105
using namespace std;
struct element{long x1, x2, x3, val;};
long i, n, x, a, s, v[nmax], j, k;
bool g;
element el;
vector <element> ma[p+5];
vector <element>::iterator it;
int main()
{
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
scanf("%ld %ld",&n,&s);
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++)
if (v[i]+v[j]+v[k]<=s)
{
x=v[i]+v[j]+v[k]; a=x%p;
el.val=x; el.x1=v[i]; el.x2=v[j]; el.x3=v[k];
ma[a].push_back(el);
x=s-(v[i]+v[j]+v[k]);
a=x%p;
for (it=ma[a].begin();it!=ma[a].end();it++)
if ((*it).val==x)
{
printf("%ld %ld %ld %ld %ld %ld",(*it).x1,(*it).x2,(*it).x3,v[i],v[j],v[k]);
i=j=k=n+1; g=1; break;
}
}
if(!g)
printf("-1");
return 0;
}