Pagini recente » Cod sursa (job #1039861) | Cod sursa (job #265328) | Cod sursa (job #1760695) | Cod sursa (job #2275899) | Cod sursa (job #2892435)
#include <iostream>
#include <fstream>
#include <unordered_map>
#include <tuple>
using namespace std;
int main()
{
unordered_map<int, tuple<int, int, int>> sume;
ifstream fin ("loto.in");
ofstream fout ("loto.out");
int numere[103];
int n, s;
int suma;
fin>> n >> s;
for(int i = 0; i < n; i++)
{
fin>>numere[i];
}
for(int i = 0; i < n; i++)
{
for(int j = i; j < n; j++)
{
for(int k = j; k < n; k++)
{
sume[numere[i]+numere[j]+numere[k]] = make_tuple(numere[i], numere[j], numere[k]);
}
}
}
unordered_map<int, tuple<int, int, int>>::iterator itr;
for(int i = 0; i < n; i++)
{
for(int j = i; j < n; j++)
{
for(int k = j; k < n; k++)
{
itr = sume.find(s-(numere[i]+numere[j]+numere[k]));
if(itr == sume.end())
{
continue;
}
else
{ int aux = numere[i]+numere[j]+numere[k];
fout<<get<0>(sume[aux])<<" "<<get<1>(sume[aux])<<" "<<get<2>(sume[aux])<<" "
<<get<0>(sume[s-aux])<<" "<<get<1>(sume[s-aux])<<" "<<get<2>(sume[s-aux]);
return 0;
}
}
}
}
fout<<-1;
return 0;
}