Pagini recente » Istoria paginii utilizator/kid_tm | Istoria paginii utilizator/nmalina | Profil maisieee2622 | Diferente pentru aplicatii-ale-cautarii-binare intre reviziile 15 si 6 | Cod sursa (job #2895874)
#include <iostream>
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct tuplu {
int a, b, c;
};
unordered_map <int, tuplu> sume;
int nr, suma_funala, numere[10001], suma;
int main() {
fin >> nr >> suma_funala;
for (int i=0; i<nr; i++)
fin >> numere[i];
for(int i = 0; i < nr; i++)
for(int j = i; j < nr; j++)
for(int k = j; k < nr; k++){
tuplu aux;
aux.a = i;
aux.b = j;
aux.c = k;
suma = numere[i] + numere[j] + numere[k];
sume[suma] = aux;
}
for(int i = 0; i < nr; i++)
for(int j = i; j < nr ; j++)
for(int k = j; k < nr; k++){
suma = numere[i] + numere[j] + numere[k];
suma = suma_funala - suma;
if (sume.find(suma) != sume.end()){
tuplu aux = sume[suma];
fout << numere[i] << " " << numere[j] << " " << numere[k] << numere[aux.a] << " " << numere[aux.b] << " " << numere[aux.c] << endl;
return 0;
}
}
fout << -1 << endl;
return 0;
}