0 до момента day_end. В нём n встреч, которые не пересекаются и идут по порядку: i-я встреча занимает отрезок [starts[i], ends[i]].
Можно переставить во времени не больше moves встреч. Переставленная встреча сохраняет длительность и должна остаться внутри рабочего дня; встречи по-прежнему не должны пересекаться, а их порядок менять нельзя.
Верните наибольшую возможную длину непрерывного свободного промежутка внутри дня.day_end=12, moves=1, starts=[2, 5, 9], ends=[4, 6, 11] → 4
Сдвинем встречу [5, 6] влево вплотную к первой: она станет [4, 5]. Тогда отрезок [5, 9] свободен — перерыв длиной 4.
day_end=10, moves=2, starts=[1, 4, 7], ends=[3, 5, 8] → 5
Сдвинем две последние встречи к концу дня: [7, 8] → [9, 10] и [4, 5] → [8, 9]. Тогда свободно с 3 до 8 — перерыв 5. Сдвиг первых двух встреч к началу дал бы только 4.
day_end=4, moves=1, starts=[0, 2], ends=[2, 4] → 0
Встречи занимают весь день, свободного времени нет.
day_end ≤ 10⁹len(starts) = len(ends) ≤ 10⁵moves ≤ nstarts[i] < ends[i] ≤ day_endends[i] ≤ starts[i + 1]day_end=12, moves=1, starts=[2, 5, 9], ends=[4, 6, 11]
4
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 75 тестов на сервере, включая скрытые.