90ptsWA#6
查看原帖
90ptsWA#6
1009027
stils楼主2024/1/13 21:38
#include<bits/stdc++.h>
using namespace std;
const int N=50004;
long long n,k,a[N],l[N],r[N],ans,arr;
int main(){
	ios::sync_with_stdio(false);
	cin>>n>>k;
	for(int i=1;i<=n;i++)cin>>a[i];
	sort(a+1,a+n+1);
	for(int i=1;i<=n;i++){
		arr=1;
		while(a[i]-a[arr]>k)arr++;
		l[i]=max(l[i-1],i-arr+1);
		arr=n;
		while(a[arr]-a[i]>k)arr--;
		r[i]=max(r[i+1],arr-i+1);
	}
	for(int i=1;i<=n;i++)ans=max(ans,l[i]+r[i]);
	cout<<ans<<endl;
	return 0;
}

数据下下来输出比答案多1,求调

2024/1/13 21:38
加载中...