eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Простая оболочка

Простая оболочка

Гари пытался создать простые ортогональные многоугольники для своей домашней работы по геометрии, но его алгоритм, похоже, имеет некоторые проблемы. После нескольких часов отладки он наконец понял, в чем проблема: очевидно, многоугольники, которые он генерировал, могут содержать самопересечения, что было совсем не тем, что он планировал!

prb10886.gif

В частности, “многоугольники“, созданные Гари, представлены списком n точек pi = (xi, yi), образующих замкнутую многоугольную цепь. Многоугольная цепочка может содержать самопересечения. Сегменты, образованные каждыми двумя последовательными точками (xi, yi) и (xj, yj) в цепочке, являются либо вертикальными, либо горизонтальными.

Полигональные цепочки для тестовых примеров показаны ниже (не в масштабе):

Вы решили помочь Гари решить эту проблему, вычислив простой (не самопересекающийся) многоугольник с вертикальными и горизонтальными сегментами, который полностью содержит цепочку с как можно меньшей площадью. Какова площадь такого многоугольника?

Формально Вы должны вычислить нижнюю грань площадей всех простых ортогональных многоугольников, содержащих все отрезки [pi, pj] для каждых двух соседних точек pi и pj.

Входные данные

Первая строка содержит натуральное число n (4n100 000). Следующие n строк содержат точки (xi, yi) в порядке обхода многоугольника (1xi, yi106). Никакие две последовательные точки не совпадают, и нет двух последовательных вертикальных сегментов или двух последовательных горизонтальных сегментов.

Выходные данные

Выведите одно неотрицательное целое число - точную нижнюю грань площадей всех простых многоугольников, которые окружают замкнутую многоугольную цепочку. Можно доказать, что ответ всегда целочисленный.

Пример

В примерах 1 и 3 нет простых многоугольников с площадью в точности равной 50 и 8 соответственно; однако существуют простые многоугольники с площадями, произвольно близкими к этим значениям.

Лимит времени 2 секунды
Лимит использования памяти 512 MiB
Входные данные #1
6
1 1
6 1
6 11
11 11
11 6
1 6
Выходные данные #1
50
Входные данные #2
8
2 4
2 1
4 1
4 3
1 3
1 2
3 2
3 4
Выходные данные #2
6
Входные данные #3
10
1 1
1 5
4 5
4 3
2 3
2 4
1 4
1 2
4 2
4 1
Выходные данные #3
8
Источник 2020 SEERC South Eastern European Regional Programming Contest, Винница и Бухарест, Май 23, Задача G