length, а другая — от 1 до width. Его периметр огорожен, и эти четыре ограды убирать нельзя.
Внутри поля стоят прямые ограды через всё поле: поперечные — на отметках cross_fences[i] вдоль длины, продольные — на отметках long_fences[j] вдоль ширины.
Можно убрать любые внутренние ограды (или ни одной). Нужно, чтобы после этого среди огороженных со всех сторон участков нашёлся квадрат. Верните наибольшую возможную площадь такого квадрата по модулю 10⁹ + 7, а если квадрат получить нельзя — верните -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.
length=8, width=6, cross_fences=[3], long_fences=[5] → 25
Возможные расстояния вдоль длины — 2, 5, 7, вдоль ширины — 1, 4, 5. Общее — только 5, площадь 25.
length=4, width=6, cross_fences=[2], long_fences=[3] → 9
Вдоль длины доступны расстояния 1, 2, 3, вдоль ширины — 2, 3, 5. Наибольшее общее — 3, площадь 9.
length=5, width=4, cross_fences=[2, 4], long_fences=[3]
9
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 93 теста на сервере, включая скрытые.