Pagini recente » Cod sursa (job #877217) | Cod sursa (job #1027483) | Cod sursa (job #393735) | Cod sursa (job #1501454) | Cod sursa (job #1281983)
#include <fstream>
#include <algorithm>
using namespace std;
const char InFile[]="loto.in";
const char OutFile[]="loto.out";
const int MaxN=110;
const int SIZE=1000100;
ifstream fin(InFile);
ofstream fout(OutFile);
struct s
{
int sol1,sol2,sol3,sum;
};
bool cmp_s(s a, s b)
{
return a.sum<b.sum;
}
int v[MaxN],ind=-1,sum,sol1(-1),sol2,n;
s psol[SIZE];
int main()
{
fin>>n>>sum;
for(register int i=0;i<n;++i)
{
fin>>v[i];
}
fin.close();
for(register int i1=0;i1<n;++i1)
{
for(register int i2=i1;i2<n;++i2)
{
for(register int i3=i2;i3<n;++i3)
{
++ind;
psol[ind].sol1=v[i1];
psol[ind].sol2=v[i2];
psol[ind].sol3=v[i3];
psol[ind].sum=psol[ind].sol1+psol[ind].sol2+psol[ind].sol3;
}
}
}
sort(psol,psol+ind+1,cmp_s);
int st=0;
int sf=ind;
while(st<=sf)
{
int x=psol[st].sum+psol[sf].sum;
if(sum==x)
{
sol1=st;
sol2=sf;
break;
}
else if(sum<x)
{
--sf;
}
else
{
++st;
}
}
if(sol1==-1)
{
fout<<"-1";
}
else
{
fout<<psol[sol1].sol1<<" "<<psol[sol1].sol2<<" "<<psol[sol1].sol3<<" ";
fout<<psol[sol2].sol1<<" "<<psol[sol2].sol2<<" "<<psol[sol2].sol3;
}
fout.close();
return 0;
}