#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, l;
  cin >> n >> l;
  vector<int> a;
  int k = 0;
  for (int i = 0; i < n; i++) {
    cin >> k;
    a.push_back(k);
  }
  sort(a.begin(), a.end());
  double max = INT_MIN;
  for (int i = 0; i < a.size(); i++) {
    if (i == 0 && a[i] != 0 && 2 * a[i] > max) max = 2 * (a[i]);
    if (i == a.size() - 1 && a[i] != l && 2 * (l - a[i]) > max)
      max = 2 * (l - a[i]);
    if (i != a.size() - 1 && (a[i + 1] - a[i]) > max) max = a[i + 1] - a[i];
  }
  printf("%0.10f", max / 2);
}
