Максимальное пересечение
Время: 1 s · Память: 256 MB
- Сортировка
Условие
На числовой прямой даны отрезков. Удалите ровно один из них так, чтобы длина общего пересечения оставшихся отрезков была максимальной. Если пересечение пусто или является точкой, его длина .
Формат ввода
В первой строке (). В следующих строках и ().
Формат вывода
Одно число — наибольшая длина пересечения.
Примеры
Ввод
4 1 3 2 6 0 4 3 3
Вывод
1
Ввод
2 3 10 1 5
Вывод
7
Примечание
Пересечение отрезков — , его длина . При удалении -го отрезка нужны и остальных. Если отсортировать левые концы по убыванию, а правые по возрастанию, достаточно двух наибольших и двух наименьших : если удалённый отрезок давал наибольшее значение, берётся второе. Другой способ — максимумы и минимумы на префиксах и суффиксах.
Пересчёт после удаления каждого отрезка — , это слишком долго. В первом примере нужно удалить не и не , а : ответ .
Источник: Codeforces, задача 1029C.
