Pagini recente » Cod sursa (job #727002) | Cod sursa (job #2404349) | Cod sursa (job #2732511) | Cod sursa (job #2745186) | Cod sursa (job #1317916)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int n,s,a[101],coord1,coord2,coord3,sum,i,j,k,t,Max,st,dr,m,ok,f,q;
struct structura
{
int x,y,z,w;
}v[1000001];
int cmp(structura o, structura p)
{
if(o.x<p.x)
return 1;
return 0;
}
int main()
{
fin>>n>>s;
for(i=1;i<=n;i++)
fin>>a[i];
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
for(k=j;k<=n;k++)
{
sum=a[i]+a[j]+a[k];
t++;
v[t].x=sum;
v[t].y=a[i];
v[t].z=a[j];
v[t].w=a[k];
}
sort(v+1,v+t+1,cmp);
for(i=1;i<=t&&ok==0;i++)
{
Max=s-v[i].x;
st=1;
dr=t;
while(st<=dr)
{
m=(st+dr)/2;
if(v[m].x==Max)
{
fout<<v[i].y<<" "<<v[i].z<<" "<<v[i].w<<" "<<v[m].y<<" "<<v[m].z<<" "<<v[m].w;
ok=1;
break;
}
else
if(v[m].x>Max)
dr=m-1;
else
st=m+1;
}
}
if(ok==0)
fout<<-1;
return 0;
}