Pagini recente » Cod sursa (job #649113) | Cod sursa (job #2688659) | Cod sursa (job #3270841) | Cod sursa (job #2885021) | Cod sursa (job #3211774)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("loto.in");
ofstream cout("loto.out");
struct point {
int x, y, z, s;
};
point v[1000005];
int vct[105];
bool cmp(point a, point b) {
return a.s < b.s;
}
int main() {
int n, s;
cin >> n >> s;
for (int i = 1; i <= n; i++)
cin >> vct[i];
int idx = 0;
for (int i = 1; i <= n; i++) {
for (int j = i; j <= n; j++) {
for (int k = j; k <= n; k++)
v[++idx] = { vct[i], vct[j], vct[k], vct[i] + vct[j] + vct[k] };
}
}
sort(v + 1, v + idx + 1, cmp);
for (int i = 1; i <= idx; i++) {
int sum = s - v[i].s;
int l = 1, r = idx;
while (l <= r) {
int mij = (l + r) / 2;
if (v[mij].s == sum) {
cout << v[i].x << ' ' << v[i].y << ' ' << v[i].z << ' ' << v[mij].x << ' ' << v[mij].y << ' ' << v[mij].z;
exit(0);
}
if (v[mij].s < sum)
l = mij + 1;
else r = mij - 1;
}
}
cout << -1;
}