Pagini recente » Cod sursa (job #2782662) | Cod sursa (job #1396532) | Cod sursa (job #3240563) | Cod sursa (job #1404716) | Cod sursa (job #1502970)
#include<stdio.h>
#include<vector>
#define MOD 100003
using namespace std;
struct chestie
{
int a;
int b;
int c;
int sum;
};
int n,s,i,j,k,key,it;
chestie val;
int v[101];
long long anwser;
vector<chestie> has[MOD];
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=0; j<n; j++)
for(k=0; k<n; k++)
{
val.a=v[i];
val.b=v[j];
val.c=v[k];
val.sum=v[i]+v[j]+v[k];
if(val.sum>s) continue;
key=val.sum%MOD;
has[key].push_back(val);
}
printf("\n");
for(i=0; i<n; i++)
for(j=0; j<n; j++)
for(k=0; k<n; k++)
{
val.a=v[i];
val.b=v[j];
val.c=v[k];
val.sum=v[i]+v[j]+v[k];
if(val.sum>s) continue;
key=(s-val.sum)%MOD;
int size=has[key].size();
for(it=0; it<size; it++) if(has[key][it].sum+val.sum==s)
{
printf("%d %d %d %d %d %d",has[key][it].a,has[key][it].b,has[key][it].c,val.a,val.b,val.c);
return 0;
}
}
if(anwser!=0) printf("%lld",anwser);
else printf("-1");
}