对了一个点
查看原帖
对了一个点
213465
zhurunlin68楼主2021/10/2 21:47
#include<bits/stdc++.h>
using namespace std;
long long a[1000005];
int n,m,ans;
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++) cin>>a[i];
	sort(a+1,a+n+1);
	for(int i=1;i<=n;i++)
	{
		int l=1,r=n;
		while(l<=r)
        {
            int mid=(l+r)/2;
            if(a[i]+m<a[mid])
              r=mid-1;
            else if(a[i]+m>a[mid])
              l=mid+1;
            else if(a[i]+m==a[mid])
            {
            	ans++;
            	r=mid-1;
            }
        }
	}
	cout<<ans<<endl;
	return 0;
}
2021/10/2 21:47
加载中...