求调(stl二分)
查看原帖
求调(stl二分)
765382
KυρωVixen楼主2023/7/14 14:21
#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
#define rep(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
int n,k,ans,a[500005];
signed main(){
	cin>>n>>k; a[0]=-INF; a[n+1]=INF;
	rep(i,1,n) cin>>a[i];
	auto be=a+1,ed=a+n+1;
	sort(be,ed);
	rep(i,1,n-1){
		int p1=lower_bound(be,ed,a[i]-k)-be+1;
		int p2=upper_bound(be,ed,a[i+1]+k)-be;
		//cout<<p1<<" "<<p2<<endl;
		ans=max(ans,p2-p1+1);
	}
	cout<<ans<<endl;
}

下辈子再也不用bound了

2023/7/14 14:21
加载中...