help
查看原帖
help
690160
ask_silently楼主2023/4/8 11:36
#include <bits/stdc++.h>
using namespace std;
long long n,c,a[100005],z;
int main(){
	scanf("%lld%lld",&n,&c);
	for(int i=1;i<=n;i++) scanf("%lld",&a[i]);
	for(int i=1;i<=n;i++){
		int t=a[i]+c;
		int l=1,r=n,mid;
		while(l<r){
			mid=(l+r+1)/2;
			if(a[mid]>t) r=mid-1;
			else l=mid;
		}
		int x1=l;
		if(a[x1]!=t) continue;
		l=1,r=n;
		while(l<r){
			mid=(l+r)/2;`
			if(a[mid]>=t) r=mid;
			else l=mid+1;
		}
		int x2=l;
		z+=(long long)(x1-x2+1);
	}
	printf("%lld",z);
	return 0;
}
2023/4/8 11:36
加载中...