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;
}