#include <bits/stdc++.h>
using namespace std;
vector<int> e;
double best = -1;
int main() {
  int n, u;
  cin >> n >> u;
  for (int i = 0; i < n; i++) {
    int k = 0;
    cin >> k;
    e.push_back(k);
  }
  int k = 2;
  for (int j = 1; j < n; j++) {
    int ej = e[j];
    int ei = e[j - 1];
    while (k < n && e[k] - ei <= u) {
      k++;
    }
    k--;
    if (k <= j) {
      continue;
    }
    double value = ((double)(e[k] - ej)) / (e[k] - ei);
    if (value > best) {
      best = value;
    }
  }
  cout << setprecision(12) << best;
  return 0;
}
