84求条
查看原帖
84求条
1073157
_xiaolvsi_楼主2025/7/31 10:07
#include<iostream> 
#include<algorithm>
using namespace std;
long long a[80000005];
long long b[80000005],c[80000005];
long long n,s;
bool check(long long t,long long t1)
{
	if (a[t]>t1)
	{
		return true;
	}
	else
	{
		return false;
	}
}
int main()
{
	int ans=0;
	cin>>n>>s;
	for (int i=1;i<=n;i++)
	{
		cin>>a[i];
		b[i]=a[i]-s;
		c[a[i]]++;
	}
	sort(a+1,a+n+1);
	for (int i=1;i<=n;i++)
	{
		int l=1,r=n,mid=(r+l)/2;
		while (l<=r&&l>=0&&r>=0)
		{
			if (check(mid,b[i]))//da
			{
				r=mid-1;
			}
			else
			{
				l=mid+1;
			}
			mid=(l+r)/2;
		}
		if (a[mid]==b[i])
		{
			ans+=c[a[mid]];
		}
	}
	cout<<ans<<endl;
	return 0;
}

84求条,1wa(3)1re(4)

2025/7/31 10:07
加载中...