#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  int n, l;
  bool s = 0, e = 0;
  vector<int> vec;
  set<int> st;
  cin >> n >> l;
  for (int i = 0; i < n; i++) {
    int x;
    cin >> x;
    if (x == 0) s = 1;
    if (x == l) e = 1;
    st.insert(x);
  }
  for (auto i : st) vec.push_back(i);
  sort(vec.begin(), vec.end());
  double maxx = -1e9;
  for (int i = 0; i < vec.size() - 1; i++) {
    if (vec[i + 1] - vec[i] > maxx) maxx = vec[i + 1] - vec[i];
  }
  maxx /= 2;
  vector<double> kk;
  kk.push_back(maxx);
  if (!e) kk.push_back(l - vec.back());
  if (!s) kk.push_back(vec[0]);
  sort(kk.begin(), kk.end());
  cout << setprecision(12) << fixed << kk.back();
  return 0;
}
