Submission
Status:
PPPPPPP-PP
Subtask/Task Score:
90/100
Score: 90
User: Nuttykub
Problemset: ประลอง
Language: cpp
Time: 0.003 second
Submitted On: 2026-10-04 22:06:38
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int n;
vector<ll>input;
vector<ll>ansa;
vector<ll>ansb;
ll bestdif;
void re(vector<ll>&a,vector<ll>&b,ll suma, ll sumb,int index){
if(index==n){
if(abs((ll)a.size()-(ll)b.size())>1){
return;
}
ll curdif=abs(suma-sumb);
if(curdif<=bestdif){
ansa=a;
ansb=b;
bestdif=curdif;
}
return;
}
a.push_back(input[index]);
suma+=input[index];
re(a,b,suma,sumb,index+1);
a.pop_back();
suma-=input[index];
b.push_back(input[index]);
sumb+=input[index];
re(a,b,suma,sumb,index+1);
b.pop_back();
sumb-=input[index];
}
int main(){
bestdif=LONG_LONG_MAX;
cin>>n;
input.resize(n);
for(int i=0;i<n;i++){
cin>>input[i];
}
vector<ll>tempa,tempb;
re(tempa,tempb,0,0,0);
for(ll x:ansa)cout<<x<<' ';
cout<<endl;
for(ll x:ansb)cout<<x<<' ';
}