Pagini recente » Cod sursa (job #310678) | Cod sursa (job #13243) | Cod sursa (job #2621400) | Cod sursa (job #3241322) | Cod sursa (job #2761136)
#include <iostream>
#include <fstream>
#include <unordered_map>
#include <tuple>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int n, s, x, suma, valori[101];
tuple<int, int, int> values;
unordered_map<int, tuple<int, int, int>> Hash;
bool stop = false, ok = true;
int main()
{
f >> n >> s;
for(int i = 0; i < n; i++)
{
f >> x;
valori[i] = x;
}
for(int i = 0; i < n && stop == false; i++)
for(int j = i; j < n && stop == false; j++)
for(int k = j; k < n && stop == false; k++)
{
suma = valori[i] + valori[j] + valori[k];
values = make_tuple(valori[i], valori[j], valori[k]);
Hash[suma] = values;
if(Hash.find(s - suma) != Hash.end())
{
g << valori[i] << " " << valori[j] << " " << valori[k] << " ";
g << get<0>(Hash[s - suma]) << " " << get<1>(Hash[s - suma]) << " " << get<2>(Hash[s - suma]);
ok = false;
stop = true;
}
}
if(ok == true)
g << "-1";
return 0;
}