#include <bits/stdc++.h>
using namespace std;
int main() {
  long int n, l, x, m, i;
  cin >> n >> l;
  vector<long int> a;
  double b[3], m1;
  for (i = 0; i < n; i++) {
    cin >> x;
    a.push_back(x);
  }
  sort(a.begin(), a.end());
  m = a[0];
  for (i = 0; i < n - 1; i++) {
    m = max(m, (a[i + 1] - a[i]));
  }
  b[0] = ((double)a[0]);
  b[1] = ((double)m / 2);
  b[2] = ((double)(l - a[n - 1]));
  m1 = b[0];
  for (i = 0; i < 3; i++) {
    m1 = max(m1, b[i]);
  }
  printf("%0.11lf\n", m1);
  return 0;
}
