Pagini recente » Cod sursa (job #2843211) | Cod sursa (job #2620870) | Cod sursa (job #2824157) | Cod sursa (job #1601725) | Cod sursa (job #2803747)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
unordered_map <int, vector <int>> r;
int main()
{
int n, x, s;
fin >> n >> s;
vector <int> v(n);
for(int i = 1; i <= n; i++)
fin >> x,
v[i - 1] = x,
r[x] = {x};
for(int i = 1; i <= 2; i++) {
unordered_map <int, vector <int>> prev = r;
r.clear();
for(auto p : prev)
for(auto x : v) if(r.find(p.first + x) == r.end())
r[p.first + x] = p.second,
r[p.first + x].push_back(x);
}
bool flag = true;
for(auto p : r) if(r.find(s - p.first) != r.end()) {
for(int a : r[s - p.first]) fout << a << " ";
for(int b : p.second) fout << b << " ";
flag = false;
break;
}
if(flag) fout << "-1";
return 0;
}