Pagini recente » Cod sursa (job #2489285) | Cod sursa (job #1573136) | Cod sursa (job #2785598) | Cod sursa (job #2270063) | Cod sursa (job #2738205)
//Ilie Dumitru
#include<cstdio>
#include<algorithm>
struct suma
{
int a, b, c, s;
bool operator<(suma other)
{
return this->s<other.s;
}
};
int v[100], n;
suma sume[1000005];
int main()
{
freopen("loto.in", "r", stdin);
freopen("loto.out", "w", stdout);
int N, P, i, j, k;
scanf("%d%d", &N, &P);
for(i=0;i<N;++i)
scanf("%d", v+i);
fclose(stdin);
for(i=0;i<N;++i)
for(j=0;j<N;++j)
for(k=0;k<N;++k)
sume[n++]={v[i], v[j], v[k], v[i]+v[j]+v[k]};
std::sort(sume, sume+n);
for(i=0, j=n-1;i<=j && sume[i].s+sume[j].s!=P;)
{
if(sume[i].s+sume[j].s>P)
--j;
else
++i;
}
if(i<n && j>-1)
printf("%d %d %d %d %d %d\n", sume[i].a, sume[i].b, sume[i].c, sume[j].a, sume[j].b, sume[j].c);
else
printf("-1");
fclose(stdout);
return 0;
}