Pagini recente » Cod sursa (job #1734426) | Cod sursa (job #543310) | Cod sursa (job #206626) | Cod sursa (job #1076664) | Cod sursa (job #1514506)
#include <fstream>
#include <algorithm>
using namespace std;
int n,o,p,i,c,q,s,a[102],supa[1000002];
bool ok;
int lama;
struct grupa
{
int x,y,z,sp;
}b[1000002];
int compare(grupa e,grupa r)
{
return e.sp<r.sp;
}
int sol[6];
int main()
{
ifstream f("loto.in");
ofstream g("loto.out");
f>>n>>s;
for(i=1;i<=n;i++)
f>>a[i];
sort(a+1,a+n+1);
for(i=1;i<=n;i++)
for(o=i;o<=n;o++)
for(p=o;p<=n;p++)
{
c++;
b[c].x=a[i];
b[c].y=a[o];
b[c].z=a[p];
b[c].sp=a[i]+a[o]+a[p];
}
sort(b+1,b+c+1,compare);
for(i=1;i<=c;i++)supa[i]=b[i].sp;
for(i=1;i<=c;i++)
{
lama=supa[i];
lama=s-lama;
q=upper_bound(supa+1,supa+c+1,lama)-supa;
q--;
if(supa[q]==s-supa[i])
{
ok=1;
sol[1]=b[i].x;
sol[2]=b[i].y;
sol[3]=b[i].z;
sol[4]=b[q].x;
sol[5]=b[q].y;
sol[6]=b[q].z;
for(i=1;i<=6;i++)g<<sol[i]<<" ";
return 0;
}
}
g<<"-1";
f.close();
g.close();
return 0;
}