Ограничение по времени: 5.000 секунд
Ограничение по памяти: 500.000 мегабайт
Юля хочет поставить зеркало в своём кабинете, и сейчас она выбирает место для него.
Кабинет Юли — это комната, имеющая форму выпуклого многоугольника. Юля собирается поставить зеркало так, чтобы оно занимало какую-то стену целиком, но она ещё не определилась, какую именно.
Юля считает, что площадь той части комнаты, отражение которой она будет видеть в зеркале со своего рабочего места, является важной характеристикой этого зеркала. Помогите Юле посчитать эту площадь для каждого возможного положения зеркала.
В первой строке находится число n — количество вершин многоугольника (3 ⩽ n ⩽ 105).
В следующих n строках заданы координаты вершин многоугольника в порядке обхода против часовой стрелки.
В последней строке заданы координаты рабочего места Юли.
Все координаты целые и не превосходят 108 по абсолютному значению. Гарантируется, что многоугольник выпуклый и никакие три вершины не лежат на одной прямой, а рабочее место Юли находится строго внутри него.
Для каждой стороны многоугольника выведите на отдельной строке площадь части комнаты, отражение которой будет видно с рабочего места Юли, если зеркало поставить на месте этой стороны.
Рёбра упорядочены в порядке обхода против часовой стрелки, начиная с первой вершины.
Ответ будет считаться правильным, если его абсолютная или относительная погрешность не превосходит 10−6.
input | output |
---|---|
4 -1 -1 1 -1 5 1 -5 1 0 0 |
8.0000000 4.2857143 12.0000000 4.2857143 |
Зелёным цветом выделена область, отражение которой видно в зеркале, для каждой из четырёх сторон; пунктиром — отрезки от рабочего места Юли до границ зеркала.