说明
现有 A 和 B 两个国家
每个国家有 n 支球队, A国家第 i 支球队的战力值为 ai ,B国家第 i 支球队的战力值为 bi 。
今年两个国家的表演赛又开始啦,共进行 n∗n 场比赛,第 i天举办 n 场比赛,由 A 国的第 i 支球队,挑战 B 国的 n 支球队 ,保证参加比赛的队伍只能相遇一次。
每场比赛,战力值高的球队获得胜利同时累得 1 分,平局与失败的一队不得分,请问 n∗n场比赛结束后, B 国累计的积分是多少?
输入格式
第一行一个整数 n ,代表球队数量 n<=1e5
第二行 nn 个整数ai ,代表A国家第 ii 支球队的战力值
第三行 nn 个整数bi ,代表B国家第 ii 支球队的战力值
输出格式
输出一行一个整数,代表B国的积分
样例
输入数据 1
4
1 5 2 4
4 7 5 3
输出数据 1
11
AC Code:
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int main(){
//freopen("stone.in","r",stdin);
//freopen("stone.out","w",stdout);
int n;
cin>>n;
int a[N],b[N];
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
cin>>b[i];
}
long long ans=0;
sort(b+1,b+n+1);
for(int i=1;i<=n;i++){
int e=upper_bound(b+1,b+n+1,a[i])-b;
if(e){
ans+=n-(e-1);
}
}
cout<<ans;
//fclose(stdin);
//fclose(stdout);
return 0;
}