Pagini recente » Cod sursa (job #777516) | Cod sursa (job #1535059) | Cod sursa (job #120476) | Cod sursa (job #1906272) | Cod sursa (job #2659319)
#include <fstream>
#include <unordered_map>
using namespace std;
const int NMAX = 100;
int v[1 + NMAX];
/*
struct index
{
int a;
int b;
int c;
index(int a, int b, int c)
{
this->a = a;
this->b = b;
this->c = c;
}
};
*/
//unordered_map<int, index> hm;
unordered_map<int, pair<int, pair<int, int>>> hm;
int main()
{
ifstream in("loto.in");
ofstream out("loto.out");
int n, s;
in >> n >> s;
for (int i = 1; i <= n; i++)
{
in >> v[i];
}
for (int i = 1; i <= n; i++)
{
for (int j = i; j <= n; j++)
{
for (int k = j; k <= n; k++)
{
int sum = v[i] + v[j] + v[k];
hm.emplace(sum, make_pair(i, make_pair(j, k)));
if (hm.find(s - sum) != hm.end())
{
out << v[hm[s - sum].first] << ' ' << v[hm[s - sum].second.first] << ' ' << v[hm[s - sum].second.second] << ' ' << v[i] << ' ' << v[j] << ' ' << v[k] << '\n';
return 0;
}
}
}
}
out << -1 << '\n';
return 0;
}