#include <bits/stdc++.h>
using namespace std;
signed main() {
  int64_t n;
  cin >> n;
  int64_t a[n];
  for (int64_t i = 0; i < n; i++) cin >> a[i];
  map<int64_t, int64_t> first;
  map<int64_t, int64_t> second;
  first[a[0]] = 1;
  int64_t sum = 0;
  for (int64_t i = 0; i < n; i++) sum += a[i];
  for (int64_t i = 1; i < n; i++) second[a[i]]++;
  int64_t cur = 0;
  if (sum % 2) {
    cout << "NO\n";
    return 0;
  }
  int64_t tar = sum / 2;
  for (int64_t i = 0; i < n; i++) {
    cur += a[i];
    if (cur == tar) {
      cout << "YES\n";
      return 0;
    }
    if (cur > tar) {
      int64_t x = cur - tar;
      if (first[x] > 0) {
        cout << "YES\n";
        return 0;
      }
    }
    if (cur < tar) {
      int64_t x = tar - cur;
      if (second[x] > 0) {
        cout << "YES\n";
        return 0;
      }
    }
    first[a[i + 1]]++;
    second[a[i + 1]]--;
  }
  cout << "NO\n";
}
