#include <bits/stdc++.h>
using namespace std;
inline void pisz(int n) { printf("%d\n", n); }
const int fx[4][2] = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}};
const int fxx[8][2] = {{0, 1}, {0, -1}, {1, 0},  {-1, 0},
                       {1, 1}, {1, -1}, {-1, 1}, {-1, -1}};
template <typename T, typename TT>
ostream& operator<<(ostream& s, pair<T, TT> t) {
  return s << "(" << t.first << "," << t.second << ")";
}
template <typename T>
ostream& operator<<(ostream& s, vector<T> t) {
  for (int i = 0; i < ((int)((t).size())); i++) s << t[i] << " ";
  return s;
}
int main() {
  int n;
  scanf("%d", &n);
  int sumR = 0;
  int sumL = 0;
  vector<int> arr;
  int a = 0;
  int b = 0;
  for (int i = 0; i < n; ++i) {
    int p;
    cin >> p;
    arr.push_back(p);
    sumR += p;
  }
  sort(arr.begin(), arr.end());
  int minDif = 1001001001;
  for (int j = 0; j < n; j++) {
    sumL += arr[j];
    sumR -= arr[j];
    if (abs(sumR - sumL) < minDif) {
      minDif = abs(sumR - sumL);
      a = sumR;
      b = sumL;
    }
  }
  int ans = abs(a - b) + 1;
  cout << ans << endl;
  return 0;
}
