Submission
Status:
---P------
Subtask/Task Score:
10/100
Score: 10
User: GastrointestinalTrackInflammation
Problemset: ประลอง
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-06 21:39:21
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define df double
int n;
int ans=INT_MAX;
int a[101];
int t1max=100,t2max=100;
int t1ans[101];
int t2ans[101];
void trySend(int cur, int t1rn, int t2rn, int t1score, int t2score, int a1[], int a2[]){
if(cur==n){
if(t1rn<t1max){
a1[t1rn]=a[cur];
t1score+=a[cur];
}
else {
a2[t2rn]=a[cur];
t2score+=a[cur];
}
int dif=abs(t1score-t2score);
if(dif<ans){
ans=dif;
for(int i=0;i<t1max;i++){
t1ans[i]=a1[i];
}
for(int i=0;i<t2max;i++){
t2ans[i]=a2[i];
}
}
return;
}
if(t1rn<t1max){
a1[t1rn]=a[cur];
trySend(cur+1,t1rn+1,t2rn,t1score+a[cur],t2score,a1,a2);
}
if(t2rn<t2max){
a2[t2rn]=a[cur];
trySend(cur+1,t1rn,t2rn+1,t1score,t2score+a[cur],a1,a2);
}
}
void solve(){
cin>>n;
t1max=n/2+(n%2);
t2max=n/2;
for(int i=1;i<=n;i++){
cin>>a[i];
}
int t1cur[101];
int t2cur[101];
trySend(1,0,0,0,0,t1cur,t2cur);
for(int i=0;i<t1max;i++){
cout<<t1ans[i]<<' ';
}
cout<<endl;
for(int i=0;i<t2max;i++){
cout<<t2ans[i]<<' ';
}
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int t=1;
//cin>>t;
while(t--)solve();
return 0;
}