Ctrl K

Разнести числа по отрезкам

Средняя
Дан массив starts из n чисел и число width. Они задают n отрезков: i-й отрезок — это [starts[i], starts[i] + width] (концы включены). Из каждого отрезка нужно выбрать по одному целому числу. Качество выбора — это наименьшее расстояние (модуль разности) между какими-нибудь двумя выбранными числами. Верните наибольшее возможное качество.
Пример 1
starts=[1, 4, 9], width=3 → 5

Отрезки [1, 4], [4, 7], [9, 12]. Берём 1, 6 и 11: соседние числа отстоят на 5. Больше нельзя: первое и третье число должны уместиться между 1 и 12, а разрыв 6 дважды требует 12 единиц.

Пример 2
starts=[5, 5], width=0 → 0

Оба отрезка — одна точка 5, так что выбрать можно только 5 и 5: расстояние 0.

Ограничения
  • 2 ≤ len(starts) ≤ 10⁵
  • 0 ≤ starts[i] ≤ 10⁹
  • 0 ≤ width ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиТройки палочек для треугольника СредняяСамая выгодная подработка для каждого СредняяЦена тает с каждой продажей СредняяПодравнять числа прибавлением СредняяКовёр на окрашенные отрезки Средняя
загружаем Python…
Вход
starts=[1, 4, 9], width=3
Ожидается
5

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 102 теста на сервере, включая скрытые.