Pagini recente » Cod sursa (job #1127078) | Cod sursa (job #1801320) | Cod sursa (job #562346) | Cod sursa (job #848808) | Cod sursa (job #773384)
Cod sursa(job #773384)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int i,j,k,p,n,s,x,b[1000001],a[101];
int bsearch(int x)
{int li=1,ls=k,mij;
while(li<=ls)
{mij=(li+ls)>>1;
if(b[mij]==x)
return 1;
else
if(b[mij]<x)
li=mij+1;
else
ls=mij-1;
}
return 0;
}
int main()
{f>>n>>s;
for(i=1;i<=n;++i)
f>>a[i];
k=0;
for(i=1;i<=n;++i)
for(j=i;j<=n;++j)
for(p=j;p<=n;++p)
{++k;
b[k]=a[i]+a[j]+a[p];
}
sort(b+1,b+k+1);
for(i=1;i<=k;++i)
if(bsearch(s-b[i]))
{x=b[i];
for(i=1;i<=n;++i)
for(j=i;j<=n;++j)
for(p=j;p<=n;++p)
if(a[i]+a[j]+a[p]==x)
{g<<a[i]<<' '<<a[j]<<' '<<a[p]<<' ';
x=s-x;
for(i=1;i<=n;++i)
for(j=i;j<=n;++j)
for(p=j;p<=n;++p)
if(a[i]+a[j]+a[p]==x)
{g<<a[i]<<' '<<a[j]<<' '<<a[p]<<'\n';
return 0;
}
}
}
g<<-1<<'\n';
return 0;
}