Pagini recente » Cod sursa (job #485712) | Cod sursa (job #1689858) | Cod sursa (job #2077650) | Cod sursa (job #1984879) | Cod sursa (job #1679920)
#include <cstdio>
#include<algorithm>
#define MAX 100
using namespace std;
struct aa{
int x, y, z, s;
}; aa sume[MAX*MAX*MAX+1];
bool cresc(aa a, aa b)
{
return (a.s<b.s);
}
int v[MAX+1];
int main()
{
freopen("loto.in", "r", stdin);
freopen("loto.out", "w", stdout);
int i, j, k, sum, m=0, n;
scanf("%d%d", &n, &sum);
for(i=1;i<=n;i++)
scanf("%d", &v[i]);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++)
if(v[i]+v[j]+v[k]<sum)
{
sume[++m].s=v[i]+v[j]+v[k];
sume[m].x=v[i];
sume[m].y=v[j];
sume[m].z=v[k];
}
sort(sume+1, sume+m+1, cresc);
i=1;
j=m;
while(i<=j)
{
while(sum-sume[j].s<sume[i].s&&j>0)
j--;
if(sum==sume[j].s+sume[i].s)
{
printf("%d %d %d %d %d %d", sume[i].x, sume[i].y, sume[i].z, sume[j].x, sume[j].y, sume[j].z);
return 0;
}
i++;
}
printf("-1");
return 0;
}