#include <bits/stdc++.h>
using namespace std;
long long int r, j, l, x, y, m, c, n, s, f, q, i, z, p, k, d, t, u, e, g, w;
string s1, s2, s3, s4, str;
vector<long long int> v;
int main() {
  cin >> n >> x;
  long long int a[n];
  for (long long int i = 0; i < n; i++) {
    cin >> a[i];
    v.push_back(a[i]);
  }
  k = 0;
  double ans = 0.000;
  for (long long int i = 0; i < n - 2; i++) {
    p = a[i] + x;
    l = lower_bound(v.begin(), v.end(), p) - v.begin();
    if (v[l] != p) l--;
    if (l <= i) continue;
    double ans2 =
        (((v[l] - a[i + 1]) * 1.000) / ((v[l] - a[i]) * 1.000) * 1.000);
    if (ans2 - ans >= 1e-9) {
      k = 1;
      ans = ans2;
    }
  }
  if (k == 0)
    cout << -1;
  else
    printf("%.9f", ans);
}
