Pagini recente » Cod sursa (job #591653) | Istoria paginii utilizator/cineva467823 | Cod sursa (job #1670090) | Cod sursa (job #1650250) | Cod sursa (job #133250)
Cod sursa(job #133250)
#include<stdio.h>
#include<algorithm>
using namespace std;
struct loto
{
long a,b,c,sum;
};
loto m[1000001];
long 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;
}