#include <stdio.h> #include <stdlib.h> int compare(const void* a,const void* b){ return (*(int*)a-*(int*)b); } int myselect(int* a,int n,int k){ qsort(a, n, sizeof(int), compare); int max=0,l=0,r=0; for (r=0; r<n; r++) { while (a[r]-a[l]>k) { l++; } int cur_count=r-l+1; if (cur_count>max) { max=cur_count; } } return max; } int main() { int m,n; scanf("%d %d", &m, &n); int* a=(int*)malloc(sizeof(int)*m); for (int i=0; i<m; i++) { scanf("%d", &a[i]); } int res=myselect(a, m, n); printf("%d", res); return 0; }