Pagini recente » Cod sursa (job #327343) | Cod sursa (job #599207) | Cod sursa (job #1939657) | Cod sursa (job #417257) | Cod sursa (job #2659313)
#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];
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] << ' ' << i << ' ' << j << ' ' << k << '\n';
return 0;
}
else
{
hm.emplace(sum, make_pair(i, make_pair(j, k)));
}
}
}
}
out << -1 << '\n';
return 0;
}