Pagini recente » Cod sursa (job #2345730) | Cod sursa (job #809247) | Cod sursa (job #2448502) | Cod sursa (job #1054441) | Cod sursa (job #3131892)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int main()
{
int N;
long long int S, x;
fin >> N >> S;
vector<long long int> loto;
unordered_map<long long int, long long int[3]> solve;
for (int i = 0; i < N; i++)
{
fin >> x;
loto.push_back(x);
}
bool found = false;
for (int i = 0; i < N && found != true; i++)
{
for (int j = 0; j < N && found != true; j++)
{
for (int k = 0; k < N && found != true; k++)
{
solve[loto[i] + loto[j] + loto[k]][0] = loto[i];
solve[loto[i] + loto[j] + loto[k]][1] = loto[j];
solve[loto[i] + loto[j] + loto[k]][2] = loto[k];
long long int minus = S - (loto[i] + loto[j] + loto[k]);
if (solve.find(minus) != solve.end())
{
fout << loto[i] << " " << loto[j] << " " << loto[k] << " " << solve[minus][0] << " " << solve[minus][1] << " " << solve[minus][2];
found = true;
}
}
}
}
if (found == false)
fout << -1;
return 0;
}