Pagini recente » Cod sursa (job #2001548) | Cod sursa (job #1450840) | Cod sursa (job #943740) | Cod sursa (job #2952376) | Cod sursa (job #2746840)
#include <iostream>
#include <fstream>
#include <vector>
#include <unordered_map>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
unordered_map<int, tuple<int, int, int>> sumMap;
vector<int> values;
int N, S;
int number;
int main()
{
fin >> N >> S;
for (int i = 0; i < N; i++)
{
fin >> number;
values.push_back(number);
}
int size = values.size();
for (int i = 0; i < size; i++)
{
for (int j = i; j < size; j++)
{
for (int k = j; k < size; k++)
{
int currentSum = values[i] + values[j] + values[k];
sumMap[currentSum] = make_tuple(values[i], values[j], values[k]);
if (sumMap.find(S - currentSum) != sumMap.end())
{
fout << get<0>(sumMap[currentSum]) << " " << get<1>(sumMap[currentSum]) << " " << get<2>(sumMap[currentSum]) << " ";
fout << get<0>(sumMap[S - currentSum]) << " " << get<1>(sumMap[S - currentSum]) << " " << get<2>(sumMap[S - currentSum]);
return 0;
}
}
}
}
fout << -1;
}