Pagini recente » Cod sursa (job #1585014) | Cod sursa (job #424678) | Cod sursa (job #3039825) | Cod sursa (job #1366972) | Cod sursa (job #2892429)
#include <iostream>
#include <fstream>
#include <unordered_map>
#include <vector>
#include <set>
using namespace std;
int main()
{
unordered_map<int, vector<int>> sume;
ifstream fin ("loto.in");
ofstream fout ("loto.out");
vector <int> numere;
int n, s, aux;
fin>> n >> s;
for(int i = 0; i < n; i++)
{
fin>>aux;
numere.push_back(aux);
}
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++)
{ int suma = numere[i]+numere[j]+numere[k];
sume[suma].push_back(numere[i]);
sume[suma].push_back(numere[j]);
sume[suma].push_back(numere[k]);
unq_sume.insert(suma);
}
}
}
unordered_map<int, vector<int>>::iterator itr;
for (auto it = unq_sume.begin(); it != unq_sume.end(); it++)
{
itr = sume.find(s-*it);
if(itr == sume.end())
{
continue;
}
else
{
fout<<sume[*it][0]<<" "<<sume[*it][1]<<" "<<sume[*it][2]<<" "
<<sume[s-*it][0]<<" "<<sume[s-*it][1]<<" "<<sume[s-*it][2];
return 0;
}
}
fout<<-1;
return 0;
}