Pagini recente » Cod sursa (job #3193771) | Cod sursa (job #2798925) | Cod sursa (job #341524) | Cod sursa (job #616975) | Cod sursa (job #1514409)
#include <stdio.h>
#include <algorithm>
FILE*fin=fopen("loto.in","r");
FILE*fout=fopen("loto.out","w");
using namespace std;
struct sum{
int x,y,z,s;
};
int compare(sum a,sum b)
{
if (a.s<b.s)return 1;
else return 0;
};
int n,s,i,k,j,y,a[1000001],x,vs[1000001],nr;
sum v[1000001];
int main()
{
fscanf (fin, "%d%d", &n , &s);
y=1;
for (i=1;i<=n;i++)fscanf (fin,"%d",&a[i]);
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
for (k=1;k<=n;k++)
{
v[y].x=a[i];
v[y].y=a[j];
v[y].z=a[k];
v[y].s=a[i]+a[j]+a[k];
vs[y]=v[y].s;
y++;
}
sort (v+1,v+y,compare);
n=y;y=1;
while (y<=n)
{
nr=s-v[y].s;
x=upper_bound(vs+1,vs+n,nr)-vs-1;
if (v[x].s==s-v[y].s)break;
y++;
}
if (y!=n+1)fprintf (fout , "%d %d %d %d %d %d \n",v[y].x,v[y].y,v[y].z,v[x].x,v[x].y,v[x].z);
else fprintf (fout,"-1 \n");
fclose(fin);fclose(fout);
return 0;
}