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