Pagini recente » Cod sursa (job #2354292) | Cod sursa (job #3169708) | Cod sursa (job #1143696) | Cod sursa (job #748114) | Cod sursa (job #916688)
Cod sursa(job #916688)
#include <iostream>
#include <vector>
#include <algorithm>
#include <fstream>
#include <map>
using namespace std;
#define NMAX 105
int N, S, A[NMAX];
map<int, vector<int> > m;
int main()
{
freopen("loto.in", "rt", stdin);
freopen("loto.out", "wt", stdout);
scanf("%d %d", &N, &S);
for(int i = 0; i < N; i++)
scanf("%d", &A[i]);
sort(A, A+N);
vector<int> sums;
for(int i = 0; i < N;++i)
for(int j = 0; j < N; ++j)
for(int k = 0; k < N; ++k){
int s = A[i]+A[j]+A[k];
sums.push_back(s);
vector<int> v;
v.push_back(A[i]);
v.push_back(A[j]);
v.push_back(A[k]);
if(m.find(s) == m.end()){
m[s] = v;
}
}
sort(sums.begin(), sums.end());
int sz = sums.size();
for(int i = 0; i < sz; ++i)
{
if(binary_search(sums.begin(), sums.end(), S-sums[i]))
{
vector<int> v1, v2;
v1 = m[sums[i]], v2 = m[S-sums[i]];
cout << v1[0] << " " << v1[1] << " " << v1[2] << " " << v2[0] << " " << v2[1] << " " << v2[2];
return 0;
}
}
printf("%d", -1);
return 0;
}