func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxn = 2e5 + 5;   struct cate {     long long num, t;     bool operator<(const cate& other) const { return t > other.t; }   } a[maxn];   int n;   set<long long> has;   map<long long, long long> fa;   long long find(long long x) { return x == fa[x] ? x : fa[x] = find(fa[x]); }   int main() {     ios::sync_with_stdio(false);     cin.tie(0);     cin >> n;     for (int i = 1; i <= n; ++i) {       cin >> a[i].num;       fa[a[i].num] = a[i].num;     }     for (int i = 1; i <= n; ++i) cin >> a[i].t;     sort(a + 1, a + n + 1);     long long ans = 0;     for (int i = 1; i <= n; ++i) {       long long cur = a[i].num;       if (has.find(cur) != has.end()) {         cur = find(cur);         cur += 1;         fa[cur] = cur;         ans += (cur - a[i].num) * a[i].t;       }       has.insert(cur);       if (has.find(cur - 1) != has.end()) fa[cur - 1] = cur;       if (has.find(cur + 1) != has.end()) fa[cur] = cur + 1;     }     cout << ans <<   n ;     return 0;   }   