Pagini recente » Cod sursa (job #3270071) | Cod sursa (job #476086) | Cod sursa (job #706835) | Cod sursa (job #635637) | Cod sursa (job #2892434)
#include <iostream>
#include <fstream>
#include <unordered_map>
#include <tuple>
#include <unordered_set>
using namespace std;
unordered_map<int, tuple<int, int, int>> sume;
ifstream fin ("loto.in");
ofstream fout ("loto.out");
int numere[103];
int n, s;
int suma;
int main()
{
fin>> n >> s;
for(int i = 0; i < n; i++)
{
fin>>numere[i];
}
unordered_set <int> unq_sume;
for(int i = 0; i < n; i++)
{
for(int j = i; j < n; j++)
{
for(int k = j; k < n; k++)
{ suma = numere[i]+numere[j]+numere[k];
sume[suma] = make_tuple(numere[i], numere[j], numere[k]);
unq_sume.insert(suma);
}
}
}
unordered_set<int>::iterator it;
unordered_map<int, tuple<int, int, int>>::iterator itr;
for (it = unq_sume.begin(); it != unq_sume.end(); it++)
{
itr = sume.find(s-*it);
if(itr == sume.end())
{
continue;
}
else
{
fout<<get<0>(sume[*it])<<" "<<get<1>(sume[*it])<<" "<<get<2>(sume[*it])<<" "
<<get<0>(sume[s-*it])<<" "<<get<1>(sume[s-*it])<<" "<<get<2>(sume[s-*it]);
return 0;
}
}
fout<<-1;
return 0;
}