#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, l;
  float mx;
  cin >> n >> l;
  vector<int> vec(n);
  for (int i = 0; i < n; i++) cin >> vec[i];
  sort(vec.begin(), vec.end());
  vector<int> dif;
  if (n == 1) {
    cout << max(vec[0], l - vec[0]);
  } else {
    for (int i = 0; i < n - 1; i++) dif.push_back(vec[i + 1] - vec[i]);
    mx = (float)*max_element(dif.begin(), dif.end()) / 2;
    if (vec[0] == 0 && vec[n - 1] == l)
      cout << fixed << mx;
    else if (vec[0] != 0 && vec[n - 1] == l)
      cout << fixed << max(mx, (float)vec[0]);
    else if (vec[0] == 0 && vec[n - 1] != l)
      cout << fixed << max(mx, (float)(l - vec[n - 1]));
    else if (vec[0] != 0 && vec[n - 1] != l)
      cout << fixed << max(mx, max((float)vec[0], (float)(l - vec[n - 1])));
  }
}
