Pagini recente » Cod sursa (job #2901685) | Cod sursa (job #1447288) | Cod sursa (job #2709574) | Cod sursa (job #950663) | Cod sursa (job #2746280)
#include <iostream>
#include <fstream>
#include <vector>
#include <unordered_map>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct triplet{
int a,b,c;
};
unordered_map<int, triplet> M;
unordered_map<int, triplet>::iterator it;
unordered_map<int, triplet>::iterator it2;
void Do(){
int n,s,x, sum,ct = 0;
triplet t, p;
vector<int>v;
fin >> n >> s;
for(int i = 0; i<n; ++i){
fin >> x;
v.push_back(x);
}
for(int i = 0; i<n; ++i)
for(int j = i; j<n; ++j)
for(int k = j; k<n; ++k){
sum = v[i] + v[j] + v[k];
t.a = v[i];
t.b = v[j];
t.c = v[k];
if(M.find(sum) != M.end())
continue;
else M[sum] = t;
}
for(it = M.begin(); it != M.end(); ++it){
it2 = M.find(s - it->first);
if( it2!=M.end() ){
t = it->second;
p = it2->second;
fout << t.a << " "<< t.b <<" "<<t.c <<" " << p.a <<" " << p.b <<" "<<p.c;
ct = 1;
break;
}
}
if(ct == 0)
fout << -1;
}
int main()
{
Do();
return 0;
}