Pagini recente » Cod sursa (job #3334865) | Cod sursa (job #3317643) | Cod sursa (job #228933) | Cod sursa (job #495487) | Cod sursa (job #3355992)
#include <fstream>
#include <unordered_set>
#include <cassert>
#define int long long
using namespace std;
ifstream in("loto.in");
ofstream out("loto.out");
const int NMAX=1e2+5;
int n, s, v[NMAX];
unordered_set<int> sum3;
signed main()
{
in>>n>>s;
for(int i=1;i<=n;i++)
in>>v[i];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
sum3.insert(v[i]+v[j]+v[k]);
int hsum=-1;
for(auto x:sum3)
if(sum3.find(s-x)!=sum3.end())
{
hsum=x;
break;
}
assert(hsum!=-1);
if(hsum==-1)
{
out<<-1;
return 0;
}
bool ok1=0, ok2=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
if(!ok1 && v[i]+v[j]+v[k]==hsum)
{
out<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
ok1=1;
}
else if(!ok2 && v[i]+v[j]+v[k]==s-hsum)
{
out<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
ok2=1;
}
return 0;
}