Pagini recente » Cod sursa (job #374262) | Cod sursa (job #1853178) | Cod sursa (job #606949) | Cod sursa (job #80140) | Cod sursa (job #2740540)
//ALEX ENACHE
#include <vector>
#include <algorithm>
#include <math.h>
#include <iomanip>
#include <bitset>
#include <queue>
#include <deque>
#include <stack>
#include <string>
#include <map>
#include <unordered_map>
#include <set>
#include <unordered_set>
#include <random>
#include <time.h>
#include <assert.h>
using namespace std;
#include <fstream>
//ifstream cin("input"); ofstream cout("output");
ifstream cin("loto.in"); ofstream cout("loto.out");
const int MAXN = 105;
struct nod {
int a, b, c;
};
int v[MAXN];
unordered_map < int, nod > M;
int main() {
int n, s;
cin >> n >> s;
for (int i = 1; i <= n; i++) {
cin >> v[i];
}
for (int i = 1; i <= n; i++) {
for (int j = i; j <= n; j++) {
for (int k = j; k <= n; k++) {
M[v[i] + v[j] + v[k]] = { v[i], v[j], v[k] };
if (M.find(s - v[i] - v[j] - v[k]) != M.end()) {
cout << v[i] << " " << v[j] << " " << v[k] << " " << M[s - v[i] - v[j] - v[k]].a <<" " << M[s - v[i] - v[j] - v[k]].b << " " << M[s - v[i] - v[j] - v[k]].c << '\n';
return 0;
}
}
}
}
cout << -1 << '\n';
}