#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int T = 1;
  while (T--) {
    int n, u;
    cin >> n >> u;
    vector<int> v;
    for (int i = 0; i < n; i++) {
      int t;
      cin >> t;
      v.push_back(t);
    }
    int I, K, J;
    double ans = 0.0;
    for (int i = 0; i < n - 2; i++) {
      I = v[i];
      J = v[i + 1];
      K = lower_bound((v).begin(), (v).end(), u + I) - v.begin();
      if (K == n) {
        K = n - 1;
      } else if (v[K] != u + I) {
        K--;
      }
      K = v[K];
      double a = double(K - J) / (K - I);
      ans = max(a, ans);
    }
    if (ans == 0) {
      cout << -1;
      exit(0);
    }
    printf("%.20f", ans);
  }
  return 0;
}
