Pagini recente » Cod sursa (job #729691) | Cod sursa (job #2188823) | Cod sursa (job #2435291) | Cod sursa (job #329911) | Cod sursa (job #3130155)
#include <iostream>
#include <fstream>
#include <unordered_map>
#include <vector>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
unordered_map<int, std::pair<int, vector<int>>> map;
vector<int> v;
int s = 0, n;
int ok = 0;
int main()
{
fin >> n >> s;
v.resize(n);
for (int i = 0; i < n; i++)
fin >> v[i];
for (int i = 0; i < n; i++)
for (int j = i; j < n; j++)
for (int k = j; k < n; k++)
{
vector<int> temp;
temp.push_back(v[i]);
temp.push_back(v[j]);
temp.push_back(v[k]);
map[v[i] + v[j] + v[k]] = make_pair(s - (v[i] + v[j] + v[k]), temp);
}
for (int i = 0; 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 (map.find(s - sum) != map.end() && sum == map[s - sum].first) {
vector<int> temp = map[s - sum].second;
fout << v[i] << " " << v[j] << " " << v[k] << " " << temp[0] << " " << temp[1] << " " << temp[2];
ok = 1;
return 0;
}
}
if (!ok)
fout << -1;
return 0;
}