Ctrl K

Квадрат в общей части

Средняя
На плоскости лежат n прямоугольников со сторонами, параллельными осям. Прямоугольник i задан левым нижним углом lower[i] = [x1, y1] и правым верхним upper[i] = [x2, y2]. Найдите наибольшую площадь квадрата (тоже со сторонами вдоль осей), который целиком помещается в общей части каких-нибудь двух прямоугольников. Если ни одна пара не пересекается по области ненулевой площади, верните 0.
Пример 1
lower=[[1, 1], [3, 2], [11, 11]], upper=[[6, 5], [9, 10], [13, 13]] → 9

Первые два прямоугольника пересекаются по области от (3, 2) до (6, 5) — это квадрат 3 × 3, площадь 9. Третий ни с кем не пересекается.

Пример 2
lower=[[1, 1], [3, 1]], upper=[[3, 5], [6, 5]] → 0

Прямоугольники только касаются по отрезку x = 3, общая область нулевой ширины — ответ 0.

Пример 3
lower=[[1, 1], [2, 3]], upper=[[9, 4], [5, 10]] → 1

Пересечение — прямоугольник 3 × 1, в него влезает только квадрат 1 × 1.

Ограничения
  • 2 ≤ n ≤ 1000
  • len(lower) == len(upper) == n
  • 1 ≤ координаты ≤ 10⁷
  • lower[i][0] < upper[i][0] и lower[i][1] < upper[i][1]
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиБез вмятин СредняяСамый маленький загон СредняяСамый маленький прямоугольник из булавок СредняяБлижайшие к базе точки СредняяУстройства в зоне роутера Средняя
загружаем Python…
Вход
lower=[[1, 1], [3, 2], [11, 11]], upper=[[6, 5], [9, 10], [13, 13]]
Ожидается
9

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