Submission details
Task:Apple Division
Sender:aalto26aw_004
Submission time:2026-09-02 17:19:21 +0300
Language:C++ (C++20)
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails
#6ACCEPTED0.00 sdetails
#7ACCEPTED0.08 sdetails
#8ACCEPTED0.08 sdetails
#9ACCEPTED0.08 sdetails
#10ACCEPTED0.08 sdetails
#11ACCEPTED0.08 sdetails
#12ACCEPTED0.08 sdetails
#13ACCEPTED0.00 sdetails
#14ACCEPTED0.00 sdetails
#15ACCEPTED0.00 sdetails
#16ACCEPTED0.00 sdetails
#17ACCEPTED0.08 sdetails
#18ACCEPTED0.04 sdetails

Code

#include <bits/stdc++.h>
#define fast ios::sync_with_stdio(0); cin.tie(0);
#define fill(arr,val) memset(arr,val,sizeof(arr))
#define FOR(i, a, b) for(__typeof(b) i = a, _b = b; i <= _b; ++i)
#define FORD(i, a, b) for(__typeof(a) i = a, _b = b; i >= _b; --i)
#define ALL(a) (a).begin(), (a).end()
#define YES cout << "YES\n"
#define NO cout << "NO\n"
#define ll long long
#define fi first
#define se second
#define pb push_back
#define pf push_front
#define ii pair<int,int>
#define iii pair<int,pair<int,int>>
#define dq deque<int>
#define nend '\n'
using namespace std;

const ll hashi=2e9+11;
ll add(ll a, ll b) {
    return (a+b)%hashi;
}
ll sub(ll a, ll b) {
    return ((a-b)%hashi+hashi)%hashi;
}
ll mul(ll a, ll b) {
    return (a*b)%hashi;
}

const ll inf=1e18;
const int dx[]={1,0,-1,0};
const int dy[]={0,1,0,-1};
const int N=50;
int a[N];
int main() {
    fast;

    int n;
    cin >> n;

    ll total = 0;

    FOR(i,0,n-1) {
        cin >> a[i];
        total += a[i];
    }

    ll ans = inf;

    FOR(mask,0,(1<<n)-1) {
        ll sum = 0;

        FOR(i,0,n-1) {
            if(mask & (1<<i))
                sum += a[i];
        }

        ans = min(ans, abs(total-2*sum));
    }

    cout << ans;

    return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
10
603 324 573 493 659 521 654 70...

correct output
2

user output
2

Test 2

Verdict: ACCEPTED

input
10
952 775 292 702 859 719 65 943...

correct output
1

user output
1

Test 3

Verdict: ACCEPTED

input
10
141 156 14 487 250 230 741 602...

correct output
2

user output
2

Test 4

Verdict: ACCEPTED

input
10
963 359 731 826 599 931 40 86 ...

correct output
4

user output
4

Test 5

Verdict: ACCEPTED

input
10
238 224 861 461 558 860 318 93...

correct output
2

user output
2

Test 6

Verdict: ACCEPTED

input
10
193 848 70 53 864 886 374 31 2...

correct output
1

user output
1

Test 7

Verdict: ACCEPTED

input
20
13048212 423374770 19874608 81...

correct output
8231

user output
8231

Test 8

Verdict: ACCEPTED

input
20
314836307 815098885 922742346 ...

correct output
1188

user output
1188

Test 9

Verdict: ACCEPTED

input
20
846261131 196958704 824235264 ...

correct output
11770

user output
11770

Test 10

Verdict: ACCEPTED

input
20
92021619 792314463 937735495 8...

correct output
4453

user output
4453

Test 11

Verdict: ACCEPTED

input
20
452747515 202201476 845758891 ...

correct output
4881

user output
4881

Test 12

Verdict: ACCEPTED

input
20
934033764 747013925 113297529 ...

correct output
5482

user output
5482

Test 13

Verdict: ACCEPTED

input
1
1000000000

correct output
1000000000

user output
1000000000

Test 14

Verdict: ACCEPTED

input
2
1 1

correct output
0

user output
0

Test 15

Verdict: ACCEPTED

input
1
1

correct output
1

user output
1

Test 16

Verdict: ACCEPTED

input
5
934033764 2 7 4 1

correct output
934033750

user output
934033750

Test 17

Verdict: ACCEPTED

input
20
934033764 747013925 113297529 ...

correct output
5483

user output
5483

Test 18

Verdict: ACCEPTED

input
19
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
1

user output
1