#include <bits/stdc++.h>
using namespace std;
const long long M = 1e9 + 7;
const long long nax = 1e3 + 69;
const long long inf = 9e18 + 69;
using pii = pair<long long, long long>;
void solve() {
  long long n;
  cin >> n;
  vector<pii> a(n);
  map<long long, long long> m;
  for (int i = 0; i < n; ++i) {
    cin >> a[i].first;
    m[a[i].first]++;
  }
  for (int i = 0; i < n; ++i) {
    cin >> a[i].second;
  }
  sort(a.begin(), a.end());
  multiset<long long> s;
  long long sum = a[0].second, ans = 0, i = 1, val = a[0].first;
  s.insert(a[0].second);
  while (i < n) {
    if (val == a[i].first) {
      s.insert(a[i].second);
      sum += a[i].second;
      i++;
    } else {
      if (s.empty()) {
        val = a[i].first;
        continue;
      }
      auto it = s.end();
      --it;
      sum -= *it;
      s.erase(it);
      ans += sum;
      val++;
    }
  }
  while (s.size()) {
    auto it = s.end();
    --it;
    sum -= *it;
    ans += sum;
    s.erase(it);
  }
  cout << ans << endl;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long t = 1, t1 = 1;
  while (t--) {
    solve();
  }
  return 0;
}
