Pagini recente » Cod sursa (job #1172354) | Cod sursa (job #1268146) | Cod sursa (job #1373796) | Cod sursa (job #2583088) | Cod sursa (job #2417465)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
ofstream rout("loto.txt");
int n,i,v[101],s,nrsu,j,k,st,dr,mi,poz,ok;
struct loto
{
int nr,i1,i2,i3;
};
bool compare(loto a,loto b)
{
return a.nr<b.nr;
}
loto su[1000001];
int main()
{
fin>>n>>s;
for(i=1;i<=n;i++)
fin>>v[i];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++)
{
su[++nrsu].nr=v[i]+v[j]+v[k];
su[nrsu].i1=i;
su[nrsu].i2=j;
su[nrsu].i3=k;
}
sort(su+1,su+nrsu+1,compare);
for(i=1;i<=nrsu;i++)
{
st=1;
dr=nrsu;
while(st<=dr)
{
mi=(st+dr)/2;
if(su[mi].nr+su[i].nr>s)
dr=mi-1;
else if(su[mi].nr+su[i].nr<s)
st=mi+1;
else
{
ok=1;
break;
}
}
if(ok)
{
fout<<v[su[i].i1]<<" "<<v[su[i].i2]<<" "<<v[su[i].i3]<<" "<<v[su[mi].i1]<<" "<<v[su[mi].i2]<<" "<<v[su[mi].i3];
break;
}
}
if(!ok)
fout<<"-1";
}