#include "bits/stdc++.h"
using namespace std;
#define int long long
signed main() {
int n, k;
cin >> n >> k;
vector <int> a(n + k);
for (int i = 0; i < n + k; i ++) cin >> a[i];
// a is sorted
vector <int> v(n + k);
int cnt1, cnt2, cnt0, sum1, sum2;
cnt1 = cnt2 = cnt0 = sum1 = sum2 = 0;
bool ok = false;
auto rec = [&](auto&& rec, int i) -> void {
if (ok) return;
if (cnt1 > n / 2 || cnt2 > n / 2 || cnt0 > k) return;
if (i == n + k) {
if (cnt1 != n / 2 || cnt2 != n / 2 || cnt0 != k) return;
if (sum1 != sum2) return;
for (int j = 0; j < n + k; j ++) {
if (v[j] > 0) cout << a[j] << ' ';
}
cout << endl;
ok = true;
return;
}
cnt0 ++;
rec(rec, i + 1);
cnt0 --;
v[i] = 1; cnt1 ++; sum1 += a[i];
rec(rec, i + 1);
v[i] = 0; cnt1 --; sum1 -= a[i];
v[i] = 2; cnt2 ++; sum2 += a[i];
rec(rec, i + 1);
v[i] = 0; cnt2 --; sum2 -= a[i];
};
rec(rec, 0);
return 0;
}
# | 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... |