WA , 40pts
#include <bits/stdc++.h>
using namespace std;
int n, k, a[5000000];
int maxq[5000000], maxl, maxr;
int minq[5000000], minl, minr;
int rr;
int l, r;int cnt;
void add(int x){
rr = maxr;
while(maxq[rr] < x){
maxq[rr] = x;
rr--;
}
maxq[++maxr] = x;
rr = minr;
while(minq[rr] > x){
minq[rr] = x;
rr--;
}
minq[++minr] = x;
}
int main(){
maxl = maxr = 1;
maxq[1] = -1e9;
minl = minr = 1;
minq[1] = 1e9;
cin >> k >> n;
for(int i = 1; i <= n; i++){
cin >> a[i];
}
l = 1;
r = 0;
while(l <= n){
while(r <= n){
r++;
if(max(maxq[maxl], a[r]) - min(minq[minl], a[r]) > k){
break;
}
else add(a[r]);
}
if(maxl == 1) maxl++, minl++;
r--;
// cout << l << "," << r << endl;
if(r > n) break;
cnt = max(cnt, r - l + 1);
minl++;
maxl++;
l++;
}
cout << cnt << endl;
return 0;
}