Pagini recente » Cod sursa (job #1286950) | Cod sursa (job #1480211) | Cod sursa (job #1595488) | Cod sursa (job #1748631) | Cod sursa (job #1618016)
#include <stdio.h>
#include <algorithm>
#include <map>
#include <vector>
#define MAX 105
using namespace std;
int n, s, v[MAX];
vector<int> l;
map<int, vector<int> > m;
map<int, int> h;
int main(){
freopen("loto.in", "r", stdin);
freopen("loto.out", "w", stdout);
scanf("%d%d", &n, &s);
for(int i = 0; i < n; i++)
scanf("%d", &v[i]);
for(int i = 0; i < n; i++)
for(int j = i; j < n; j++)
for(int k = j; k < n; k++){
int sum = v[i] + v[j] + v[k];
h[sum] = 1;
l.push_back(sum);
vector<int> x;
x.push_back(v[i]);
x.push_back(v[j]);
x.push_back(v[k]);
m[sum] = x;
}
sort(l.begin(), l.end());
for(int i = 0; i < l.size() - 1; i++){
if(l[i] > s / 2)
break;
int ref = s - l[i];
if(h[ref]){
printf("%d %d %d %d %d %d\n", m[l[i]][0], m[l[i]][1], m[l[i]][2],
m[ref][0], m[ref][1], m[ref][2]);
return 0;
}
}
printf("-1\n");
return 0;
}