#include<bits/stdc++.h>
using namespace std;
const int N=1e6+100;
typedef long long ll;
int read()
{
int n=0;char ch=getchar();
while(ch<'0'||'9'<ch)ch=getchar();
while(ch>='0'&&ch<='9'){n=n*10+ch-'0';ch=getchar();}
return n;
}
ll m,n,max_=-100000000,min_=9999999999,a[N],k,ans=0,y=0,ans_[N][5];
int main()
{
// memset(,0,sizeof );
cin>>n>>k;
for(int i=1;i<=n;i++)
{
scanf("%lld",&a[i]);
}
if(n==1)
{
cout<<"1 1\n 1 1";
return 0;
}
for(int i=1;i<=n;i++)
{
max_=a[i];
min_=a[i];
for(int j=i+1;j<=n;j++)
{
max_=max(max_,a[j]);
min_=min(min_,a[j]);
if(j==n&&k>=max_-min_)
{
ll x=j-i+1;
ans=max(ans,x);
break;
}
if(k<max_-min_)
{
ll x=j-i;
ans=max(ans,x);
break;
}
}
}
int z=1;
for(int i=1;i<=n-ans+1;i++)
{
max_=a[i];
min_=a[i];
z=1;
for(int j=i+1;j<=i+ans-1;j++)
{
max_=max(max_,a[j]);
min_=min(min_,a[j]);
if(k<max_-min_)
{
z=0;
break;
}
}
if(z)
{
y++;
ans_[y][1]=i;
ans_[y][2]=i+ans-1;
}
}
cout<<ans<<" "<<y<<"\n";
for(int i=1;i<=y;i++)
{
cout<<ans_[i][1]<<' '<<ans_[i][2]<<"\n";
}
return 0;
}
几分钟写的一点优化都没的代码