#D4776. Cutting
Cutting
Cutting
Fair Chocolate-Cutting
You are given a flat piece of chocolate of convex polygon shape. You are to cut it into two pieces of precisely the same amount with a straight knife.
Write a program that computes, for a given convex polygon, the maximum and minimum lengths of the line segments that divide the polygon into two equal areas.
The figures below correspond to first two sample inputs. Two dashed lines in each of them correspond to the equal-area cuts of minimum and maximum lengths.
Figure F.1. Sample Chocolate Pieces and Cut LinesInput
The input consists of a single test case of the following format.
...
The first line has an integer , which is the number of vertices of the given polygon. Here, is between 3 and 5000, inclusive. Each of the following lines has two integers and , which give the coordinates () of the -th vertex of the polygon, in counterclockwise order. Both and are between 0 and 100 000, inclusive.
The polygon is guaranteed to be simple and convex. In other words, no two edges of the polygon intersect each other and interior angles at all of its vertices are less than .
Output
Two lines should be output. The first line should have the minimum length of a straight line segment that partitions the polygon into two parts of the equal area. The second line should have the maximum length of such a line segment. The answer will be considered as correct if the values output have an absolute or relative error less than .
Sample Input 1
4 0 0 10 0 10 10 0 10
Sample Output 1
10 14.142135623730950488
Sample Input 2
3 0 0 6 0 3 10
Sample Output 2
4.2426406871192851464 10.0
Sample Input 3
5 0 0 99999 20000 100000 70000 33344 63344 1 50000
Sample Output 3
54475.580091580027976 120182.57592539864775
Sample Input 4
6 100 350 101 349 6400 3440 6400 3441 1200 7250 1199 7249
Sample Output 4
4559.2050019027964982 6216.7174287968524227
Example
Input
4 0 0 10 0 10 10 0 10
Output
10 14.142135623730950488
inputFormat
inputs. Two dashed lines in each of them correspond to the equal-area cuts of minimum and maximum lengths.
Figure F.1. Sample Chocolate Pieces and Cut LinesInput
The input consists of a single test case of the following format.
...
The first line has an integer , which is the number of vertices of the given polygon. Here, is between 3 and 5000, inclusive. Each of the following lines has two integers and , which give the coordinates () of the -th vertex of the polygon, in counterclockwise order. Both and are between 0 and 100 000, inclusive.
The polygon is guaranteed to be simple and convex. In other words, no two edges of the polygon intersect each other and interior angles at all of its vertices are less than .
outputFormat
Output
Two lines should be output. The first line should have the minimum length of a straight line segment that partitions the polygon into two parts of the equal area. The second line should have the maximum length of such a line segment. The answer will be considered as correct if the values output have an absolute or relative error less than .
Sample Input 1
4 0 0 10 0 10 10 0 10
Sample Output 1
10 14.142135623730950488
Sample Input 2
3 0 0 6 0 3 10
Sample Output 2
4.2426406871192851464 10.0
Sample Input 3
5 0 0 99999 20000 100000 70000 33344 63344 1 50000
Sample Output 3
54475.580091580027976 120182.57592539864775
Sample Input 4
6 100 350 101 349 6400 3440 6400 3441 1200 7250 1199 7249
Sample Output 4
4559.2050019027964982 6216.7174287968524227
Example
Input
4 0 0 10 0 10 10 0 10
Output
10 14.142135623730950488
样例
4
0 0
10 0
10 10
0 10
10
14.142135623730950488
</p>