zcmimi's blog
avatar
zc
2020-04-26 14:01:00
  • 本文总阅读量
查看原题

点击跳转

建立新数c,使c_i=a_i-b_i

那么就是要找多少对i<jc_i>c_j

c排序,然后双指针统计一下就可以了

#include<bits/stdc++.h>
int n,a[200001];
int main(){
    scanf("%d",&n);
    int x;long long ans=0;
    for(int i=1;i<=n;++i)scanf("%d",a+i);
    for(int i=1;i<=n;++i)scanf("%d",&x),a[i]-=x;
    std::sort(a+1,a+n+1,std::greater<int>());
    x=n;
    for(int i=1;i<=n;++i){
        while(a[x]+a[i]<=0&&x>i)--x;
        if(a[x]+a[i]>0)ans+=x-i;
        else break;
    }
    printf("%lld\n",ans);
}
LG CF1324D Pair of Topics
comment评论
Search
search