超简题解
2026-02-15 10:16:31
发布于:北京
0阅读
0回复
0点赞
lower_bound函数和upper_bound函数即可简易的解出这道题
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=2e5+10;
int a[N],n,q;
signed main(){
cin>>n>>q;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+n+1);
int ans=0;
for(int i=1;i<=n;i++){
int t=a[i]-q;
int l=lower_bound(a+1,a+n+1,t)-a;
int r=upper_bound(a+1,a+n+1,t)-a;
ans+=r-l;
}
cout<<ans<<endl;
return 0;
}
这里空空如也




有帮助,赞一个