RE求助
查看原帖
RE求助
763878
Jerry_heng楼主2023/3/10 22:44
#include<bits/stdc++.h>
#define int long long
using namespace std;
int ans,n,c,a[200005];
signed main(){
	scanf("%lld%lld",&n,&c);
	for(int i=1;i<=n;i++)scanf("%lld",&a[i]);
	sort(a+1,a+n+1);
	a[n+1]=-1;
	int l=1,r=2;
	while(1){
		while(a[r]-a[l]<c){r++;}
		if(r>n)break;
		if(a[r]-a[l]==c){
			int ll=l,rr=r;
			while(a[ll]==a[l]&&ll<=n){ll++;}
			while(a[rr]==a[r]&&rr<=n){rr++;}
			ans+=(ll-l)*(rr-r);
			if(ll>n||rr>n)break;
			l=ll,r=rr;
		}
		else l++;
	}
	printf("%lld",ans);
	return 0;
}
2023/3/10 22:44
加载中...