summaryrefslogtreecommitdiff
path: root/introductory_problems/apple_division.cpp
blob: 11a04504db7a298eac3a57f635874b78c66d8ee6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 1623. Apple Division
#include <bits/stdc++.h>
using namespace std;

int main() {
  const long long max = INT_MAX;
  static int n, p[20];
  long long a, b, best = max;
  scanf("%d", &n);
  for (int i = 0; i < n; i++)
    scanf("%d", &p[i]);
  for (int i = 0; i < (1 << n); i++) {
    a = b = 0;
    for (int j = 0; j < n; j++) {
      if (i & (1 << j))
        a += p[j];
      else
        b += p[j];
    }
    best = min(best, abs(a - b));
  }
  printf("%lld\n", best);
}