Submission
Status:
---P--P---
Subtask/Task Score:
20/100
Score: 20
User: NovemNotes
Problemset: ประลอง
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-15 21:57:31
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 102;
int n;
int mn=INT_MAX;
vector<int> v(N);
vector<int> ans1,ans2;
void gen(int i,int sum1,int sum2,vector<int> &v1,vector<int> &v2){
if(i==n){
int num = abs(sum1-sum2);
// cout << num << "\n";
// for(auto &x:v1)cout << x << " ";cout << "\n";
// for(auto &x:v2)cout << x << " ";cout << "\n";
if(num<mn){
mn=num;
ans1=v1;
ans2=v2;
}
return ;
}
//for 1
if((n%2==0 && v1.size()<n/2)||(n%2==1&&v1.size() < (n-1)/2)){
v1.emplace_back(v[i]);
gen(i+1,sum1+v[i],sum2,v1,v2);
v1.pop_back();
}
//for 2
if((n%2==0&&v2.size()<n/2)||(n%2==1&&v2.size() < (n+1)/2)){
v2.emplace_back(v[i]);
gen(i+1,sum1,sum2+v[i],v1,v2);
v2.pop_back();
}
}
int32_t main(){
ios_base::sync_with_stdio(false);cin.tie(NULL);
cin >> n;
for(int i=0;i<n;i++)cin >> v[i];
vector<int> v1,v2;
gen(0,0,0,v1,v2);
for(auto &x:ans1)cout << x << " ";cout << "\n";
for(auto &x:ans2)cout << x << " ";
return 0;
}