#include <bits/stdc++.h>
using namespace std;
vector<int> mergesort(vector<int> a) {
  if (a.size() <= 1) return a;
  vector<int> l, r;
  for (int i = 0; i < a.size(); i++) {
    if (i < a.size() / 2)
      l.push_back(a[i]);
    else
      r.push_back(a[i]);
  }
  l = mergesort(l);
  r = mergesort(r);
  a.clear();
  reverse(l.begin(), l.end());
  reverse(r.begin(), r.end());
  while (l.size() > 0 && r.size() > 0) {
    if (l.back() < r.back()) {
      a.push_back(l.back());
      l.pop_back();
    } else {
      a.push_back(r.back());
      r.pop_back();
    }
  }
  while (l.size() > 0) {
    a.push_back(l.back());
    l.pop_back();
  }
  while (r.size() > 0) {
    a.push_back(r.back());
    r.pop_back();
  }
  return a;
}
long long n, a, b, w;
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> a;
    if (i % 2 == 0) {
      b += a / 2;
      w += (a + 1) / 2;
    } else {
      b += (a + 1) / 2;
      w += a / 2;
    }
  }
  cout << min(b, w);
  return 0;
}
