#include <bits/stdc++.h>
using namespace std;
int main() {
  cout << setprecision(9) << fixed;
  int n, l;
  cin >> n >> l;
  vector<int> vec(n);
  for (auto &e : vec) scanf("%d", &e);
  int i = 0, j = 1;
  sort(vec.begin(), vec.end());
  long double bet = 0;
  while (j < n) {
    bet = max(bet, ((long double)(vec[j] - vec[i])) / 2.0);
    i++;
    j++;
  }
  long double bdry = max(vec[0], l - vec[n - 1]);
  cout << max(bet, bdry) << endl;
  return 0;
}
