Pagini recente » Cod sursa (job #2032757) | Cod sursa (job #2492123) | Cod sursa (job #2687204) | Cod sursa (job #835120) | Cod sursa (job #1328931)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fi ("loto.in");
ofstream fo ("loto.out");
struct loto
{
int sum,a,b,c;
}v[400000];
int ff(loto x , loto y)
{
return x.sum<y.sum;
}
int n,s,k,i,j,o[101],nr;
inline void citire()
{
fi >> n >> s;
for(i=1; i<=n; i++)
fi >> o[i];
fi.close();
}
int main()
{
citire();
for(i=1; i<=n; i++)
for(j=i; j<=n; j++)
for(k=j; k<=n; k++)
{
v[++nr].sum=o[i]+o[j]+o[k];
v[nr].a=o[i];
v[nr].b=o[j];
v[nr].c=o[k];
}
sort(v+1,v+nr+1,ff);
int mic=1,mare=nr;
while(mic<=mare)
{
if(v[mic].sum+v[mare].sum>s)
mare--;
else if(v[mic].sum+v[mare].sum<s)
mic++;
else
break;
}
if(mic>mare)
fo<<-1;
else
fo << v[mic].a << " " << v[mic].b << " " << v[mic].c << " " << v[mare].a << " " << v[mare].b << " " << v[mare].c;
fo.close();
return 0;
}