Pagini recente » Cod sursa (job #1430335) | Cod sursa (job #583386) | Cod sursa (job #1469406) | Cod sursa (job #427584) | Cod sursa (job #270756)
Cod sursa(job #270756)
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#define DIM 105
using namespace std;
struct triplu {int a,b,c,sm;} t[DIM*DIM*DIM];
int n,s,u;
int a[DIM];
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=i; j<=n; ++j)
for (k=j; 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);
exit (0);
}
void solve ()
{
int st=1,dr=u;
while (st<=dr)
{
if (t[st].sm+t[dr].sm==s)
print (st,dr);
while (t[st].sm+t[dr].sm>s)
--dr;
if (t[st].sm+t[dr].sm==s)
print (st,dr);
++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;
}