Ctrl K

Квадратный участок без лишних оград

Средняя
Поле — прямоугольник, у которого одна координата меняется от 1 до length, а другая — от 1 до width. Его периметр огорожен, и эти четыре ограды убирать нельзя. Внутри поля стоят прямые ограды через всё поле: поперечные — на отметках cross_fences[i] вдоль длины, продольные — на отметках long_fences[j] вдоль ширины. Можно убрать любые внутренние ограды (или ни одной). Нужно, чтобы после этого среди огороженных со всех сторон участков нашёлся квадрат. Верните наибольшую возможную площадь такого квадрата по модулю 10⁹ + 7, а если квадрат получить нельзя — верните -1. Иначе говоря, ищется наибольшее расстояние, которое встречается и между двумя оградами вдоль длины, и между двумя оградами вдоль ширины (границы поля тоже считаются оградами).
Пример 1
length=5, width=4, cross_fences=[2, 4], long_fences=[3] → 9

Вдоль длины ограды стоят на отметках 1, 2, 4, 5, вдоль ширины — 1, 3, 4. Расстояние 2 есть в обоих направлениях (4 − 2 и 3 − 1), расстояние 3 — тоже (5 − 2 и 4 − 1). Квадрат со стороной 3 даёт площадь 9.

Пример 2
length=8, width=6, cross_fences=[3], long_fences=[5] → 25

Возможные расстояния вдоль длины — 2, 5, 7, вдоль ширины — 1, 4, 5. Общее — только 5, площадь 25.

Пример 3
length=4, width=6, cross_fences=[2], long_fences=[3] → 9

Вдоль длины доступны расстояния 1, 2, 3, вдоль ширины — 2, 3, 5. Наибольшее общее — 3, площадь 9.

Ограничения
  • 3 ≤ length, width ≤ 10⁹
  • 1 ≤ len(cross_fences), len(long_fences) ≤ 600
  • 1 < cross_fences[i] < length
  • 1 < long_fences[j] < width
  • Отметки в каждом списке различны
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиУзлы сетки под кругами СредняяРазные отрезки с малым числом кратных СредняяТёмные клетки в окнах 2×2 СредняяЗеркало из квадратов СредняяПростые числа на лучах сетки Средняя
загружаем Python…
Вход
length=5, width=4, cross_fences=[2, 4], long_fences=[3]
Ожидается
9

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