Pagini recente » Cod sursa (job #486190) | Cod sursa (job #2899863) | Cod sursa (job #1121363) | Cod sursa (job #2213461) | Cod sursa (job #2035140)
#include <cstdio>
#include <set>
const int MAX_N = 100;
int v[5 + MAX_N];
int main() {
freopen("loto.in", "r", stdin);
freopen("loto.out", "w", stdout);
int N, S;
scanf("%d%d", &N, &S);
for (int i = 1; i <= N; i++) {
scanf("%d", &v[i]);
}
std::set<int> s;
for (int i = 1; i <= N; i++) {
for (int j = i; j <= N; j++) {
for (int k = j; k <= N; k++) {
s.insert(v[i] + v[j] + v[k]);
}
}
}
for (auto it = s.begin(); it != s.end(); it++) {
if (s.find(S - *it) != s.end()) {
bool ok = true;
for (int i = 1; i <= N && ok; i++) {
for (int j = i; j <= N && ok; j++) {
for (int k = j; k <= N && ok; k++) {
if (v[i] + v[j] + v[k] == S - *it) {
printf("%d %d %d ", v[i], v[j], v[k]);
ok = false;
}
}
}
}
for (int i = 1; i <= N; i++) {
for (int j = i; j <= N; j++) {
for (int k = j; k <= N; k++) {
if (v[i] + v[j] + v[k] == *it) {
printf("%d %d %d\n", v[i], v[j], v[k]);
return 0;
}
}
}
}
}
}
return 0;
}