Pagini recente » Cod sursa (job #631944) | Cod sursa (job #2280753) | Cod sursa (job #1878299) | Cod sursa (job #3264640) | Cod sursa (job #73513)
Cod sursa(job #73513)
#include<stdio.h>
#include<algorithm>
using namespace std;
struct lol
{
long a,b,c,sum;
};
lol m[1000001];
long x[101],s,i,j,a,b,c,k,n,dif;
int cmp(lol a,lol b)
{
return a.sum<b.sum;
}
int main()
{
freopen ("loto.in","rt",stdin);
freopen ("loto.out","wt",stdout);
scanf("%ld %ld",&n,&s);
for (i=1;i<=n;i++)
scanf("%ld",&x[i]);
for (a=1;a<=n;a++)
for (b=a;b<=n;b++)
for (c=b;c<=n;c++)
m[++k].sum=x[a]+x[b]+x[c],m[k].a=x[a],m[k].b=x[b],m[k].c=x[c];
sort(m+1,m+k+1,cmp);
i=1;
j=k;
while (i<=j)
{
dif=s-m[i].sum;
while (m[j].sum>dif)
j--;
if (m[j].sum==dif && (i<=j))
{printf("%ld %ld %ld %ld %ld %ld\n",m[i].a,m[i].b,m[i].c,m[j].a,m[j].b,m[j].c);return 0;}
i++;
}
printf("-1\n");
return 0;
}