Ограничение по времени: 2.000 секунд
Ограничение по памяти: 500.000 мегабайт
Егор решил, что стал слишком стар и пора составить завещание. Он решил поделить между своими сыновьями поместье. Поместье расположено вдоль прямой дороги и имеет длину l километров, поэтому оно может быть представлено как отрезок длины l. Всего у Егора есть n сыновей и у каждого в поместье есть особняк. Особняк i-го сына расположен на расстоянии ai километров от начала поместья, представим его как точку на расстоянии ai от левого конца отрезка. Причем, никакие два особняка не находятся в одной точке. Егор решил разделить всё поместье на n непрерывных частей так, чтобы каждому сыну досталась часть, содержащая его особняк. Иными словами, Егор решил целиком разделить поместье на n отрезков так, чтобы существовал способ распределить отрезки между сыновьями, чтобы отрезок каждого сына содержал его особняк. Отрезок содержит особняк, если точка, соответствующая этому особняку, лежит внутри или на границе отрезка.
Чтобы дележ был наиболее честным, Егор решил, что длина самой большой части должна быть минимальна. Помогите ему определить эту длину при оптимальном разделении.
В первой строке даны два целых числа n и l - количество сыновей у Егора и длина поместья (2 ≤ n ≤ 100000, 1 ≤ l ≤ 109). В следующей строке даны n целых чисел ai - позиции особняков сыновей (0 ≤ ai ≤ l). Гарантируется, что все ai различны.
Выведите одно вещественное число - длину самой большой части при оптимальном разделении. Ваш ответ будет считаться правильным, если его абсолютная или относительная погрешность не превышает 10−6.
input | output |
---|---|
3 10 1 3 8 |
3.500000000000000 |
3 2 0 1 2 |
0.666666666666667 |