Pagini recente » Cod sursa (job #563912) | Cod sursa (job #1461275) | Cod sursa (job #220891) | Cod sursa (job #775810) | Cod sursa (job #2896503)
#include <fstream>
#include <vector>
#include <unordered_map>
using namespace std;
int main()
{
ifstream f("loto.in");
ofstream g("loto.out");
int nr_valori, suma;
f >> nr_valori;
f >> suma;
vector<int> valori(nr_valori);
for (int i = 0; i < nr_valori; i++)
f >> valori[i];
unordered_map<int, int[3]> sume;
for (int i : valori)
for (int j : valori)
for (int k : valori)
{
int s = i + j + k;
sume[s][0] = i;
sume[s][1] = j;
sume[s][2] = k;
}
for (int i : valori)
for (int j : valori)
for (int k : valori)
{
int s = i + j + k;
if (sume.find(suma - s) != sume.end()) // daca exista o suma complementara
{
g << i << " " << j << " " << k << " " << sume[suma - s][0] << " " << sume[suma - s][1] << " " << sume[suma - s][2];
return 0;
}
}
g << "-1";
return 0;
}