Ctrl K

Чистый прямоугольник на кнопках

Сложная
На большой пробковой доске воткнуты кнопки. Кнопка i стоит в точке (xs[i], ys[i]), все точки различны. Натяните резинку на четыре кнопки так, чтобы получился прямоугольник со сторонами, параллельными осям. Прямоугольник считается чистым, если, кроме четырёх угловых кнопок, никакая другая кнопка не лежит ни внутри него, ни на его сторонах. Верните наибольшую площадь чистого прямоугольника или -1, если такого нет.
Пример 1
xs=[0, 0, 4, 4], ys=[0, 2, 0, 2] → 8

Четыре кнопки образуют прямоугольник 4 × 2, других кнопок нет — площадь 8.

Пример 2
xs=[0, 0, 4, 4, 2], ys=[0, 2, 0, 2, 2] → -1

Единственный прямоугольник испорчен: кнопка (2, 2) лежит на его верхней стороне.

Пример 3
xs=[0, 0, 2, 2, 5, 5], ys=[0, 3, 0, 3, 0, 3] → 9

Прямоугольники 2 × 3 и 3 × 3 чистые, а большой 5 × 3 задевает кнопки (2, 0) и (2, 3). Ответ 9.

Ограничения
  • 1 ≤ len(xs) = len(ys) ≤ 2 · 10⁵
  • 0 ≤ xs[i], ys[i] ≤ 8 · 10⁷
  • Все кнопки стоят в разных точках
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПустой прямоугольник по точкам СредняяПоворотная камера СложнаяБлижайшая пара датчиков СложнаяРаздача с самой младшей карты СложнаяЛучшая пара выше планок Сложная
загружаем Python…
Вход
xs=[0, 0, 4, 4], ys=[0, 2, 0, 2]
Ожидается
8

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