#include <bits/stdc++.h>
using namespace std;
using ll=long long;
int main() {
ll n,p;
cin>>n>>p;
vector<ll>a(n);
for(ll i=0;i<n;i++){
cin>>a[i];
}
sort(a.begin(),a.end());
ll l=0,r=0;
p<<=1;
ll ans=1;
ll nn=n-1;
while(r<nn){
while(r<n&&a[r]-a[l]<=p)r++;
r--;
ll no=r-l+1;
ans=no>ans?no:ans;
l++;
}
ll no=r-l+1;
ans=no>ans?no:ans;
cout<<ans;
}
// 64 位输出请用 printf("%lld")
滑动窗口暴力遍历,代码还是简单的应该能懂()

京公网安备 11010502036488号