Pagini recente » Cod sursa (job #1640829) | Cod sursa (job #1331464) | Cod sursa (job #662263) | Cod sursa (job #1625791) | Cod sursa (job #2765337)
//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=i;j<N;++j)
for(k=j;k<N;++k)
sume[n++]={v[i], v[j], v[k], v[i]+v[j]+v[k]};
std::sort(sume, sume+n);
bool ok=true;
for(i=0, j=n-1;ok*(i<=j);++i)
{
while(sume[i].s+sume[j].s>P)
--j;
if(sume[i].s+sume[j].s==P)
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), ok=0;
}
if(ok)
printf("-1");
fclose(stdout);
return 0;
}