Pagini recente » Cod sursa (job #1279521) | Istoria paginii runda/winners31 | Cod sursa (job #1513670) | Cod sursa (job #616244) | Cod sursa (job #2701733)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int n,sum,rez,i,j,a[105];
struct str
{
int b,c,d,s;
} v[1000010];
bool comp(str x,str y)
{
if(x.s<y.s)return true;
return false;
}
int main()
{
fin>>n>>sum;
for(i=1; i<=n; ++i)
{
fin>>a[i];
}
int nr=0;
for(i=1; i<=n; ++i)
{
for(j=i; j<=n; ++j)
{
for(int x=j; x<=n; ++x)
{
v[++nr].s=a[i]+a[j]+a[x];
v[nr].b=a[i];
v[nr].c=a[j];
v[nr].d=a[x];
}
}
}
sort(v+1,v+nr+1,comp);
for(i=1; i<=nr; ++i)
{
int x=sum-v[i].s;
int st=1;
int dr=nr;
rez=0;
while(st<=dr)
{
int mij=(dr+st)/2;
if(v[mij].s==x)
{
rez=mij;
break;
}
else if(v[mij].s< x)st=mij+1;
else dr=mij-1;
}
if(x==v[rez].s)
{
fout<<v[i].b<<" "<<v[i].c<< " "<<v[i].d<<" "<<v[rez].b<<" "<<v[rez].c<< " "<<v[rez].d<<'\n';
return 0;
}
}
fout<<-1;
return 0;
}