Preparando MOJI

Uncle Bogdan and Projections

4000ms 524288K

Description:

After returning to shore, uncle Bogdan usually visits the computer club "The Rock", to solve tasks in a pleasant company. One day, uncle Bogdan met his good old friend who told him one unusual task...

There are $$$n$$$ non-intersecting horizontal segments with ends in integers points on the plane with the standard cartesian coordinate system. All segments are strictly above the $$$OX$$$ axis. You can choose an arbitrary vector ($$$a$$$, $$$b$$$), where $$$b < 0$$$ and coordinates are real numbers, and project all segments to $$$OX$$$ axis along this vector. The projections shouldn't intersect but may touch each other.

Find the minimum possible difference between $$$x$$$ coordinate of the right end of the rightmost projection and $$$x$$$ coordinate of the left end of the leftmost projection.

Input:

The first line contains the single integer $$$n$$$ ($$$1 \le n \le 2000$$$) — the number of segments.

The $$$i$$$-th of the next $$$n$$$ lines contains three integers $$$xl_i$$$, $$$xr_i$$$ and $$$y_i$$$ ($$$-10^6 \le xl_i < xr_i \le 10^6$$$; $$$1 \le y_i \le 10^6$$$) — coordinates of the corresponding segment.

It's guaranteed that the segments don't intersect or touch.

Output:

Print the minimum possible difference you can get.

Your answer will be considered correct if its absolute or relative error doesn't exceed $$$10^{-6}$$$.

Formally, if your answer is $$$a$$$ and jury's answer is $$$b$$$ then your answer will be considered correct if $$$\frac{|a - b|}{\max{(1, |b|)}} \le 10^{-6}$$$.

Sample Input:

3
1 6 2
4 6 4
4 6 6

Sample Output:

9.000000000

Sample Input:

3
2 5 1
4 6 4
7 8 2

Sample Output:

6.333333333

Sample Input:

2
1 3 1
4 7 1

Sample Output:

6.000000000

Note:

In the first example if we project segments along the vector $$$(1, -1)$$$ then we get an answer $$$12-3=9$$$ and (it can be proven) it is impossible to get less.

It is optimal to project along the vector $$$(1, -3)$$$ in the second example. The answer is $$$8\frac{2}{3}-2\frac{1}{3}=6\frac{1}{3}$$$

Informação

Codeforces

Provedor Codeforces

Código CF1388E

Tags

data structuresgeometrysortings

Submetido 0

BOUA! 0

Taxa de BOUA's 0%

Datas 09/05/2023 10:05:06

Relacionados

Nada ainda