Pagini recente » Cod sursa (job #1943854) | Cod sursa (job #1529134) | Cod sursa (job #2265561) | Cod sursa (job #1002014) | Cod sursa (job #2894408)
#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)
{
int part = A[i] + A[j] + A[k];
if (!M.count(part))
{
M[part] = triple{ A[i], A[j], A[k] };
}
else
continue;
int rest = S - part;
if (M.count(rest))
{
fout << M[part].x << ' '
<< M[part].y << ' '
<< M[part].z << ' '
<< M[rest].x << ' '
<< M[rest].y << ' '
<< M[rest].z << ' ';
return 0;
}
}
fout << "-1";
return 0;
}