洛谷题库:A-B=C二分解法

#include<bits/stdc++.h>
using namespace std;
long a[200001];
long n,c,ans;
int main(){
    cin>>n>>c;
    for(int i = 1;i<=n;i++){
        cin>>a[i];
    }
    sort(a+1,a+n+1);
    for(int i = 1;i<=n;i++){
        ans += ((upper_bound(a+1,a+n+1,a[i]+c)-a)-(lower_bound(a+1,a+n+1,a[i]+c)-a));
    }
    cout<<ans;
    return 0;
}

 

posted @ 2024-11-30 16:02  王一行(小号)  阅读(12)  评论(0编辑  收藏  举报