#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false); cin.tie(nullptr);
int n, K;
cin >> n >> K;
int X = n + K;
vector<int> a(X);
for (auto &i : a)
cin >> i;
for (int i = 0; i <= K; i++) {
for (int j = max(i + 1, X - K - i - 1); j < X; j++) {
vector<bool> vis(X);
vis[i] = vis[j] = true;
int cnt = i + n - j - 1, sz = 2, sm = a[i] + a[j], r = j - 1;
for (int k = i + 1; k <= r && sz != n && cnt <= K; k++) {
while (k < r && (vis[r] || a[k] + a[r] > sm)) r--;
if (k >= r) break;
if (a[k] + a[r] == sm) {
sz += 2;
vis[k] = vis[r] = true;
r--;
}
else cnt++;
}
if (sz == n) {
for (int l = 0; l < X; l++)
if (vis[l]) cout << a[l] << ' ';
exit(false);
}
}
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |