Pagini recente » Cod sursa (job #335437) | Cod sursa (job #1164954) | Cod sursa (job #2974866) | Cod sursa (job #2332096) | Cod sursa (job #269157)
Cod sursa(job #269157)
#include <stdio.h>
#include <algorithm>
#define DIM 105
using namespace std;
struct triplu{int a,b,c,sm;} t[105*105*105];;
int n,s,u;
int a[105];
void read ()
{
int i;
scanf ("%d%d",&n,&s);
for (i=1; i<=n; ++i)
scanf ("%d",&a[i]);
}
void atrib ()
{
int i,j,k;
for (i=1; i<=n; ++i)
for (j=1; j<=n; ++j)
for (k=1; k<=n; ++k)
{
t[++u].a=a[i];
t[u].b=a[j];
t[u].c=a[k];
t[u].sm=a[i]+a[j]+a[k];
}
}
int cmp (triplu a,triplu b)
{
return a.sm<b.sm;
}
void print (int i,int j)
{
printf("%d %d %d %d %d %d",t[i].a,t[i].b,t[i].c,t[j].a,t[j].b,t[j].c);
}
void solve ()
{
int st=1,dr=u;
while (st<=dr)
{
if (t[st].sm+t[dr].sm==s)
{
print (st,dr);
exit (0);
}
while (t[st].sm+t[dr].sm>s)
--dr;
if (t[st].sm+t[dr].sm==s)
{
print (st,dr);
exit (0);
}
++st;
}
printf ("-1");
}
int main ()
{
freopen ("loto.in","r",stdin);
freopen ("loto.out","w",stdout);
read ();
atrib ();
sort (t+1,t+u+1,cmp);
solve ();
return 0;
}