Pagini recente » Cod sursa (job #695397) | Cod sursa (job #1400875) | Cod sursa (job #3162744) | Cod sursa (job #2517114) | Cod sursa (job #2745439)
#include <iostream>
#include <fstream>
#include <unordered_map>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
class halfSum
{
public:
int a;
int b;
int c;
};
unordered_map<int, halfSum> semiSume;
vector<int> v;
int c[6], n, s;
bool found = false;
int main()
{
halfSum ob;
fin >> n >> s;
for (int i = 0; i < n; i++)
{
int x;
fin >> x;
v.push_back(x);
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
for (int k = 0; k < n; k++)
{
ob.a = v[i];
ob.b = v[j];
ob.c = v[k];
semiSume.insert({ v[i] + v[j] + v[k], ob });
auto comp = semiSume.find(s - v[i] - v[j] - v[k]);
if (comp != semiSume.end() && found == false)
{
found = true;
c[0] = ob.a;
c[1] = ob.b;
c[2] = ob.c;
c[3] = comp->second.a;
c[4] = comp->second.b;
c[5] = comp->second.c;
sort(c, c + 6);
break;
}
}
}
}
if (found)
for (int i = 0; i < 6; i++)
fout << c[i] << " ";
else
fout << -1;
}