#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  vector<pair<int, int>> a(n);
  for (int i = 0; i < n; i++) cin >> a[i].first;
  for (int i = 0; i < n; i++) cin >> a[i].second;
  sort(a.begin(), a.end());
  long long int ans = 0;
  multiset<int> s;
  s.insert(a[0].second);
  long long int sum = a[0].second;
  for (int i = 1; i < n; i++) {
    if (a[i].first == a[i - 1].first) {
      sum += a[i].second;
      s.insert(a[i].second);
    } else {
      if (!s.empty()) {
        sum = sum - *s.rbegin();
        s.erase(--s.end());
        ans = ans + sum;
        if (i < n) {
          int mn = a[i - 1].first + 1;
          while (!s.empty() && mn < a[i].first) {
            sum = sum - *s.rbegin();
            ans += sum;
            s.erase(--s.end());
            mn++;
          }
        }
        sum += a[i].second;
        s.insert(a[i].second);
      }
    }
  }
  while (!s.empty()) {
    sum = sum - *s.rbegin();
    s.erase(--s.end());
    ans = ans + sum;
  }
  cout << ans << endl;
}
