#include <bits/stdc++.h>
using namespace std;
signed main(void) {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long TESTS = 1;
  while (TESTS--) {
    long long n;
    cin >> n;
    vector<pair<long long, long long> > v(n);
    for (long long i = 0; i < n; i++) cin >> v[i].first;
    for (long long i = 0; i < n; i++) cin >> v[i].second;
    sort((v).begin(), (v).end());
    bool ok = 0;
    long long ans = 0;
    priority_queue<long long> pq;
    long long i = 0;
    long long sum = 0;
    while (1) {
      if (i == n - 1 and !ok) break;
      if (i >= n) break;
      if (v[i].first != v[i + 1].first and !ok) {
        i++;
        continue;
      }
      long long ind = -1;
      for (long long j = i; j < n; j++) {
        if (v[j].first == v[i].first) {
          pq.push(v[j].second);
          sum += v[j].second;
        } else {
          ind = j;
          break;
        }
      }
      if (ind == -1)
        i = n;
      else
        i = ind;
      if (ind == -1) {
        while (!pq.empty()) {
          sum -= pq.top();
          pq.pop();
          ans += sum;
        }
        break;
      }
      long long gap = v[ind].first - v[ind - 1].first;
      while (gap > 0 and !pq.empty()) {
        sum -= pq.top();
        pq.pop();
        ans += sum;
        gap--;
      }
      if (!pq.empty()) ok = 1;
    }
    cout << ans;
  }
}
