Pagini recente » Cod sursa (job #2881483) | Cod sursa (job #2670169) | Cod sursa (job #726234) | Cod sursa (job #1884654) | Cod sursa (job #1147936)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int a[101],i,j,k,mj,dr,st,ok,s,n,nr;
struct elem
{
int c,p1,p2,p3;
}v[1000001];
int cmp(elem x,elem y)
{
return x.c<y.c;
}
int main()
{
f>>n>>s;
for(i=1;i<=n;i++)
f>>a[i];
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
for(k=j;k<=n;k++)
{
nr++;
v[nr].c=a[i]+a[j]+a[k];
v[nr].p1=i;
v[nr].p2=j;
v[nr].p3=k;
}
//for(i=1;i<=nr;i++)
sort(v+1,v+nr+1,cmp);
ok=1;
for(i=1;i<=nr&&ok==1;i++)
{
k=s-v[i].c;
st=1;
dr=nr;
while(st<=dr)
{
mj=(st+dr)/2;
if(k<v[mj].c)
dr=mj-1;
else if(k>v[mj].c)
st=mj+1;
else
{
ok=0;
st=dr+1;
g<<a[v[i].p1]<<" "<<a[v[i].p2]<<" "<<a[v[i].p3]<<" "<<a[v[mj].p1]<<" "<<a[v[mj].p2]<<" "<<a[v[mj].p3];
}
}
}
if(ok==1)
g<<-1;
return 0;
}