Pagini recente » Monitorul de evaluare | Istoria paginii runda/simv_1 | Istoria paginii utilizator/anamaria121421 | Autentificare | Cod sursa (job #2773669)
#include <iostream>
#include <fstream>
#include <unordered_set>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
unordered_set <int> hashMap;
int n, suma;
int numere[101];
void afisareSuma(int suma){
for(int i = 1;i<=n;++i)
for(int j = 1;j<=n;++j)
for(int l = 1;l<=n;++l){
if(numere[i] + numere[j] + numere[l] == suma){
fout << numere[i] << " " << numere[j] << " " << numere[l]<<" ";
return;
}
}
}
int main()
{
fin>>n>>suma;
for(int i = 1;i<=n;++i){
fin>>numere[i];
}
for(int i = 1;i<=n;++i)
for(int j = 1;j<=n;++j)
for(int l = 1;l<=n;++l){
int suma_locala = numere[i] + numere[j] + numere[l];
if(suma_locala < suma) hashMap.insert(suma_locala);
if(!(hashMap.find(suma - suma_locala) == hashMap.end())){
fout<<numere[i] << " "<<numere[j] << " "<<numere[l]<<" ";
afisareSuma(suma - suma_locala);
return 0;
}
}
fout<<-1;
return 0;
}