#include <bits/stdc++.h>
using namespace std;
priority_queue<int, vector<int>, greater<int> > q1, q2;
int n, a[500010], lea;
int main() {
  cin >> n;
  long long ans = 0;
  for (int i = 1; i <= n; ++i) cin >> a[i], ans += a[i];
  sort(a + 1, a + n + 1);
  for (int i = n; i > 0; --i) {
    int now = a[i], cnt = 1;
    while (i > 0 && a[i - 1] == now) i--, cnt++;
    while (lea && cnt) cnt--, lea--, q2.push(now);
    while (!q1.empty() && cnt >= 2 && q1.top() < 2 * now) {
      int tmp = q1.top();
      q1.pop();
      if (tmp < now)
        q2.push(now), q2.push(now);
      else
        q2.push(tmp), q2.push(now * 2 - tmp);
      cnt -= 2;
    }
    if (!q1.empty() && cnt && now > q1.top()) q1.pop(), q1.push(now);
    while (!q2.empty()) q1.push(q2.top()), q2.pop();
    lea += cnt;
  }
  while (!q1.empty()) ans -= q1.top(), q1.pop();
  cout << ans << endl;
  return 0;
}
