Pagini recente » Cod sursa (job #2230538) | Cod sursa (job #3176519) | Cod sursa (job #687797) | Cod sursa (job #2177832) | Cod sursa (job #938101)
Cod sursa(job #938101)
#include<stdio.h>
#include<algorithm>
using namespace std;
struct loto {int a,b,c,sum;};
loto m[1000001];
int x[101],s,i,j,a,b,c,k,n,dif;
int cmp(loto a,loto 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;
}