Резервуар
Рассмотрим ломанную, координаты вершин которой равны (x[1]
, y[1]
), (x[2]
, y[2]
), (x[3]
, y[3]
), . . ., (x[n]
, y[n]
) и удовлетворяют неравенствам x[1]
< x[2]
< x[3]
< ... < x[n]
и y[i]
≠ y[i+1]
для всех i. Давайте пустим лучи вверх от самой левой (x[1]
, y[1]
) и самой правой (x[n]
, y[n]
) точки. Преобразуем плоскую фигуру в трехмерное тело с толщиной 1.
У нас получился резервуар. Его передняя и задняя плоскости являются ровными, вертикальными и параллельны друг другу, расстояние между котороыми 1. Левая и правая грани (образованные вертикальными лучами) также ровные, вертикальные и параллельны друг другу. Дно резервуара образовано начальной цепью ломанной. Резервуар установлен таким образом, что независимо от его формы дна и уровня наполнения он никогда не перевернется.
V кубических единиц воды налито в резервуар с левой стороны. Вам следует написать программу, которая вычислит площадь поверхности воды.
Входные данные
Количество вершин в ломанной n (2 ≤ n ≤ 123456), за которой следуют n пар целых чисел x[1]
y[1]
x[2]
y[2]
… x[n]
y[n]
, описывающих координаты вершин. Последнее число задает объем налитой воды V. Все координаты целые, изменяются от –10^6
до 10^6
; Объем является целым и лежит в промежутке 0 ≤ V ≤ 10^12
.
Выходные данные
Вывести одно действительное число — площадь результирующей поверхности воды. Точность вычислений не должна быть меньше 10^(–3)
.