#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int n, l;
  double r1 = 0.0, r2 = 0.0, r3 = 0.0;
  cin >> n >> l;
  vector<double> a(n, 0);
  for (int i = 0; i < n; i++) cin >> a[i];
  if (n == 1) {
    cout << max(l - a[0], a[0]) << '\n';
    return 0;
  }
  sort(begin(a), end(a), [](int a, int b) { return a > b; });
  vector<double> arr(n - 1, 0);
  for (int i = 0; i < a.size() - 1; i++) {
    arr[i] -= a[i + 1] - a[i];
  }
  r1 = *max_element((arr).begin(), (arr).end()) / 2.0;
  r2 = a[n - 1];
  r3 = abs(a[0] - l);
  cout << fixed;
  cout << setprecision(10)
       << max({r1, r2, r3}, [](int a, int b) { return a < b; }) << '\n';
  return 0;
}
