#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, l;
  double r = 0, a;
  cin >> n >> l;
  std::vector<double> v;
  for (int i = 0; i < n; i++) {
    cin >> a;
    v.push_back(a);
  }
  sort(v.begin(), v.begin() + n);
  if (v[0] != 0) {
    r = v[0];
  }
  if (v[n - 1] != l) r = max(v[0], l - v[n - 1]);
  for (int i = 0; i < n - 1; i++) {
    r = max(r, (-v[i] + v[i + 1]) / 2);
  }
  cout << std::fixed << std::setprecision(9) << r;
}
