#include<bits/stdc++.h>
using namespace std;
const double eps=1e-9;
int n,u,a[100005];
double ans=-1;
int main()
{
while(scanf("%d%d",&n,&u)!=EOF)
{
ans=-1;
for(int i=0;i<n;i++)
scanf("%d",a+i);
for(int i=1;i<n-1;i++)
{
if(a[i+1]-a[i-1]>u)
continue;
int l=i+1,r=n-1;
while(l<r)
{
int mid=(l+r+1)>>1;
if(a[mid]-a[i-1]<=u)
l=mid;
else
r=mid-1;
}
ans=max(ans,(a[l]-a[i])*1.0/(a[l]-a[i-1]));
}
if(ans==-1)
printf("-1\n");
else
printf("%.10f\n",ans);
}
return 0;
}