Input
5
4 8 2 6 2
4 5 4 1 3
Output
7
思路:将不等式转化,新增一个数组,对数组排序。关键是转换思维。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=200006;
ll a[maxn],b[maxn],c[maxn];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) {cin>>b[i];c[i]=a[i]-b[i];}
sort(c+1,c+n+1);
ll sum=0;
for(int i=1;i<=n;i++)
{
ll k=upper_bound(c+i+1,c+n+1,-c[i])-c;
sum+=n-k+1;
}
cout<<sum;
return 0;
}