Pagini recente » Cod sursa (job #63597) | Cod sursa (job #1064292) | Cod sursa (job #2397478) | Cod sursa (job #2656033) | Cod sursa (job #2892522)
#include <iostream>
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int main()
{
int N, S, *numere;
unordered_map<int, tuple<int, int, int>>sume;
fin >> N >> S;
numere = new int[N + 1];
for (int i = 0; i < N; ++i)
fin >> numere[i];
for (int i = 0; i < N; ++i)
for (int j = 0; j < N; ++j)
for (int k = 0; k < N; ++k)
{ if(sume.find(numere[i] + numere[j] + numere[k]) == sume.end())
sume[numere[i] + numere[j] + numere[k]] = make_tuple(i, j, k);
}
for (int i = 0; i < N; ++i)
for (int j = 0; j < N; ++j)
for (int k = 0; k < N; ++k)
if (sume.find(S - numere[i] - numere[j] - numere[k]) != sume.end())
{
fout << numere[get<0>(sume[S - numere[i] - numere[j] - numere[k]])] << ' ' << numere[get<1>(sume[S - numere[i] - numere[j] - numere[k]])] << ' ' << numere[get<2>(sume[S - numere[i] - numere[j] - numere[k]])] << ' ' << numere[i] << ' ' << numere[j] << ' ' << numere[k];
return 0;
}
fout << -1;
return 0;
}