Pagini recente » Cod sursa (job #1314171) | Cod sursa (job #1589719) | Cod sursa (job #151139) | Cod sursa (job #1301173) | Cod sursa (job #976239)
Cod sursa(job #976239)
#include<cstdio>
#include<algorithm>
#define MAX 1000005
using namespace std;
int s,n,a[112],m,st,dr,s2;
struct loto
{
int s,unu,doi,trei;
};
loto X[MAX];
int main ()
{
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
scanf("%d %d\n",&n,&s);
int i,nrp=0;
for (i=0;i<n;i++)
scanf ("%d",&a[i]);
int j,k;
for (i=0; i<n;i++)
for (j=i;j<n;j++)
for (k=j;k<n;k++)
{ nrp++;
X[nrp].s=a[i]+a[j]+a[k];
X[nrp].unu=a[i];
X[nrp].doi=a[j];
X[nrp].trei=a[k];
}
for (i=0; i<nrp; i++)
{
st=0;
dr=nrp-1;
s2=s-X[i].s;
while (st<=dr)
{
m=(st+dr)/2;
if (X[m].s==s2)
{
printf("%d %d %d %d %d %d\n",X[i].unu,X[i].doi,X[i].trei,X[m].unu,X[m].doi,X[m].trei);
return 0;
}
else
if (X[m].s<s2)
st=m+1;
else
dr=m-1;
}
}
printf ("-1\n");
return 0;
}