Submission
Status:
P-PP-P---P
Subtask/Task Score:
50/100
Score: 50
User: modx9572
Problemset: ประลอง
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-08 13:44:11
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
int a[20];
for (int i = 0; i < n; i++){
cin >> a[i];
}
int total = 0;
for (int i = 0; i < n; i++){
total += a[i];
}
int bp[20] = {};
int pick[20] = {};
int bd = 1000000;
int tc = 1 << n;
for (int mask = 0; mask < tc; mask++) {
int sum1 = 0;
int count1 = 0;
for (int i = 0; i < n; i++) {
if (mask & (1 << i)) {
sum1 += a[i];
count1++;
}
}
int sum2 = total - sum1;
int diff = abs(sum1 - sum2);
if (abs(count1 - (n - count1)) <= 1 && diff < bd) {
bd = diff;
for (int i = 0; i < n; i++) {
if (mask & (1 << i)) bp[i] = 1;
else bp[i] = 0;
}
}
}
for (int i = 0; i < n; i++)
if (bp[i]){
cout << a[i] << " ";
}
cout << "\n";
for (int i = 0; i < n; i++)
if (!bp[i]){
cout << a[i] << " ";
}
cout << "\n";
return 0;
}