Pagini recente » Cod sursa (job #249865) | Cod sursa (job #2636013) | Cod sursa (job #1404997) | Cod sursa (job #871399) | Cod sursa (job #2748193)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main(){
ifstream fin("loto.in");
ofstream fout("loto.out");
vector < vector < vector < int > > > hash_sume;
int suma, n;
fin >> n >> suma;
vector < int > numere;
for( int i = 0; i < n; i++ ){
int x;
fin >> x;
numere.push_back(x);
}
for( int i = 0; i <= suma; i++ ){
vector < vector < int > > v;
hash_sume.push_back(v);
}
for( int i = 0; i < n; i++ ){
for( int j = 0; j < n; j++ ){
for( int k = 0; k < n; k++ ){
if( numere[i] + numere[j] + numere[k] <= suma ){
vector < int > elemente;
elemente.push_back(numere[i]);
elemente.push_back(numere[j]);
elemente.push_back(numere[k]);
hash_sume[ numere[i] + numere[j] + numere[k] ].push_back(elemente);
}
}
}
}
int ok = 0;
for( int i = 0; i < hash_sume.size() && ok == 0; i++ ){
for( int j = 0; j < hash_sume[i].size() && ok == 0; j++ ){
if( hash_sume[suma-i].size() > 0 ){
for( int k = 0; k < hash_sume[suma-i].size() && ok== 0; k++ ){
fout << hash_sume[i][j][0] << " " << hash_sume[i][j][1] << " " << hash_sume[i][j][2] << " ";
fout << hash_sume[suma-i][k][0] << " " << hash_sume[suma-i][k][1] << " " << hash_sume[suma-i][k][2];
ok = 1;
}
}
}
}
if( ok == 0 ) fout << -1;
}