#include <bits/stdc++.h>
#define ll long long
#define pr pair<ll,ll>
using namespace std;
const ll N = 2e5+10;
ll n;
ll lowbit(ll x)
{
return x&(-x);
}
struct point
{
ll x,y;
}arr[N];
ll tr[N][2];
ll l[N];
void add(ll x,ll val)
{
while(x<=n)
{
tr[x][0]++;
tr[x][1]+=val;
x+=lowbit(x);
}
}
ll get(ll x,ll k)
{
ll res=0;
while(x)
{
res+=tr[x][k];
x-=lowbit(x);
}
return res;
}
bool cmp(point a,point b)
{
return a.x<b.x;
}
void solve()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>arr[i].x;
for(int i=1;i<=n;i++)
{
cin>>arr[i].y;
l[i]=arr[i].y;
}
sort(arr+1,arr+1+n,cmp);
sort(l+1,l+1+n);
int m=unique(l+1,l+1+n)-l-1;
ll ans=0;
for(int i=1;i<=n;i++)
{
ll x=lower_bound(l+1,l+1+n,arr[i].y)-l;
ans=ans+arr[i].x*get(x,0)-get(x,1);
add(x,arr[i].x);
}
cout<<ans<<'\n';
}
int main()
{
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
ll tt = 1;
//cin >> tt ;
while( tt-- ) solve() ;
return 0 ;
}
1670D - Very Suspicious | 1141B - Maximal Continuous Rest |
1341A - Nastya and Rice | 1133A - Middle of the Contest |
385A - Bear and Raspberry | 1311B - WeirdSort |
1713F - Lost Array | 236B - Easy Number Challenge |
275A - Lights Out | 147A - Punctuation |
253A - Boys and Girls | 1327E - Count The Blocks |
984A - Game | 12B - Correct Solution |
1355B - Young Explorers | 485A - Factory |
628A - Tennis Tournament | 1436B - Prime Square |
1707B - Difference Array | 1422C - Bargain |
1611F - ATM and Students | 660A - Co-prime Array |
1692F - 3SUM | 1470A - Strange Birthday Party |
190D - Non-Secret Cypher | 1721B - Deadly Laser |
1721C - Min-Max Array Transformation | 1721A - Image |
1180C - Valeriy and Deque | 557A - Ilya and Diplomas |