#D11556. Do You Divide It?
Do You Divide It?
Do You Divide It?
E: Do You Divide It? / Do you want to chop it up?
story
Mr. T has been terribly troubled by the problem of plane figures in programming contests he has participated in in the past, and has had a strong grudge against plane figures ever since.
Above all, I have mixed feelings about polygons drawn on a two-dimensional plane, so when I see a polygon, I can't help but chop it up.
When Mr. T chops a polygon, he covers the polygon with a plate with slits at intervals of 0.5 width parallel to the y-axis, and chops and discards the invisible part with the slits.
However, Mr. T does not like unilateral killing, so in order to leave the buds of recurrence in the polygon, care should be taken to make the total area of the figures remaining after chopping as large as possible.
Let's find the area of the figure that remains after Mr. T chops it.
problem
The two-dimensional plane has an infinite length slit in the y-axis direction, and the visible part and the invisible part are switched every 0.5 in the x-axis direction.
As shown in the figure below, a polygon consisting of N vertices continues to translate in the positive x-axis direction on this plane.
Output the area of the visible part at the moment when the visible part of the polygon becomes the largest.
Input format
Give N in the first line. In the i-th line of the following N lines, the i-th vertex coordinates (x_i, y_i) in the counterclockwise direction of the polygon are given.
The following can be assumed.
- All inputs are integers
- 3 ≤ N ≤ 100, −10 ^ 3 ≤ x_i, y_i ≤ 10 ^ 3
- Given polygons do not share edges or vertices with anything other than adjacent line segments.
- The three consecutive vertices of a given polygon are not on the same straight line
Output format
Output the visible area in one line at the moment when the visible part of the given polygon becomes the largest. Absolute error and relative error are allowed up to 10 ^ {-5}.
Input example 1
6 0 0 -1 -2 3 -2 2 0 3 2 -1 2
Output example 1
6.000000000
Input example 2
Five 0 0 twenty two 4 -2 4 2 twenty two
Output example 2
6.50000000
Example
Input
6 0 0 -1 -2 3 -2 2 0 3 2 -1 2
Output
6.000000000
inputFormat
outputFormat
Output the area of the visible part at the moment when the visible part of the polygon becomes the largest.
Input format
Give N in the first line. In the i-th line of the following N lines, the i-th vertex coordinates (x_i, y_i) in the counterclockwise direction of the polygon are given.
The following can be assumed.
- All inputs are integers
- 3 ≤ N ≤ 100, −10 ^ 3 ≤ x_i, y_i ≤ 10 ^ 3
- Given polygons do not share edges or vertices with anything other than adjacent line segments.
- The three consecutive vertices of a given polygon are not on the same straight line
Output format
Output the visible area in one line at the moment when the visible part of the given polygon becomes the largest. Absolute error and relative error are allowed up to 10 ^ {-5}.
Input example 1
6 0 0 -1 -2 3 -2 2 0 3 2 -1 2
Output example 1
6.000000000
Input example 2
Five 0 0 twenty two 4 -2 4 2 twenty two
Output example 2
6.50000000
Example
Input
6 0 0 -1 -2 3 -2 2 0 3 2 -1 2
Output
6.000000000
样例
6
0 0
-1 -2
3 -2
2 0
3 2
-1 2
6.000000000