Pagini recente » Cod sursa (job #900560) | Cod sursa (job #2782299) | Cod sursa (job #658687) | Cod sursa (job #380254) | Cod sursa (job #2894402)
#include <iostream>
#include <fstream>
#include <cstring>
#include <algorithm>
#include <vector>
#include <queue>
#include <unordered_map>
#include <stack>
using namespace std;
#define MAX_N 100
ifstream fin("loto.in");
ofstream fout("loto.out");
struct triple
{
int x;
int y;
int z;
};
int N, S;
int A[MAX_N];
unordered_map<int, triple> M;
int main()
{
fin >> N >> S;
for (int i = 0; i < N; ++i)
fin >> A[i];
for (int i = 0; i < N; ++i)
for (int j = 0; j < N; ++j)
for (int k = 0; k < N; ++k)
{
M[A[i] + A[j] + A[k]] = triple{ A[i], A[j], A[k] };
}
for (auto a = M.begin(); a != M.end(); a++)
{
int rest = S - a->first;
if (M.count(rest))
{
fout << a->second.x << ' '
<< a->second.y << ' '
<< a->second.z << ' '
<< M[rest].x << ' '
<< M[rest].y << ' '
<< M[rest].z << ' ';
return 0;
}
}
fout << "-1";
return 0;
}