Pagini recente » Cod sursa (job #536732) | Cod sursa (job #2201479) | Cod sursa (job #1049138) | Cod sursa (job #3040753) | Cod sursa (job #3129636)
#include <iostream>
#include <fstream>
#include <map>
#include <vector>
using namespace std;
ifstream in("loto.in");
ofstream out("loto.out");
int n, s;
vector <int> nr;
map <int, vector <int>> h;
void sume_part() {
for (int i = 0; i < n; i ++) {
for (int j = 0; j < n; j ++) {
for (int k = 0; k < n; k ++) {
h[nr[i] + nr[j] + nr[k]] = {nr[i], nr[j], nr[k]};
}
}
}
}
bool suma_finala() {
bool ok = 0;
for (int i = 0; i < n && !ok; i ++) {
for (int j = 0; j < n && !ok; j ++) {
for (int k = 0; k < n && !ok; k ++) {
int s2 = s - nr[i] - nr[j] - nr[k];
if (h.find(s2) != h.end()) {
ok = 1;
out << nr[i] << " " << nr[j] << " " << nr[k] << " " << h[s2][0] << " " << h[s2][1] << " " << h[s2][2];
}
}
}
}
return ok;
}
int main() {
int x;
in >> n >> s;
for (int i = 0; i < n; i ++) {
in >> x;
nr.push_back(x);
}
sume_part();
if (!suma_finala())
out << -1;
return 0;
}