Pagini recente » Istoria paginii utilizator/dianapop | Profil vladcuzuc | Cod sursa (job #2968238) | Cod sursa (job #317871) | Cod sursa (job #2141889)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
struct RASENGAN{
int su,a,b,c;
};
bool cmp(RASENGAN x,RASENGAN y)
{
return x.su < y.su;
}
vector<int>v;
vector<RASENGAN>s;
inline int bs(int &x)
{
int st = 0;
int dr = s.size()-1;
int med;
while(st <= dr)
{
med = (st+dr)/2;
if(s[med].su < x)
st = med+1;
else if(s[med].su > x)
dr = med-1;
else
return med;
}
return -1;
}
int main()
{
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
int n , S , x ;
scanf("%d%d",&n,&S);
for(int i = 1 ; i <= n ; i++)
{
scanf("%d",&x);
v.push_back(x);
}
RASENGAN temp;
for(int i = 0 ; i < v.size() ; i++)
for(int j = 0 ; j < v.size() ; j++)
for(int k = 0 ; k < v.size() ; k++)
{
int sm;
sm = v[i] + v[j] + v[k];
temp.a = v[i];
temp.b = v[j];
temp.c = v[k];
temp.su = sm;
s.push_back(temp);
}
sort(s.begin(),s.end(),cmp);
for(int i = 0 ; i < s.size() ; i++)
{
int sm;
sm = s[i].su;
int d = S - sm;
int r = bs(d);
if(r != -1)
{
printf("%d %d %d %d %d %d",s[i].a,s[i].b,s[i].c,s[r].a,s[r].b,s[r].c);
return 0;
}
}
return 0;
}