10931093 SUSTech Online Judge
Problem 1093 --Wavator and his friends

## 1093: Wavator and his friends

Time Limit: 1 Sec  Memory Limit: 256 MB
Submit: 171  Solved: 24
[Submit][Status][Web Board]

## Description

The main road from SUSTech to Wavator's home is a straight line from south to north.  There are coordinates measured in meters from SUSTech to the northernmost(Wavator's home is in the coordinates).

10 years ago, Wavator only needed to meet his friend Asser in the road, so when they meet, they only calculate their own maximum speed and find a position X that abs(X - X Wavator) / (V Wavator) = abs(X - X Asser) / (V Asser) so that they can spend the smallest time(abs(X - X Wavator) / (V Wavator)) to meet together.

But now, Wavator has many friends. At some points on the road there are n friends(contains Wavator), and i-th of them is standing at the point xi meters and can move with any speed less than or equal to vi (meters per second) in any of the two directions along the road. Wavator wants to celebrate his birthday in any position of the road and he wants to invite all his friends.

He knows that his friends are busy so he want to compute the minimum time needed to gather all the n people(n contains himself) at some point on the road. Note that the point they meet at doesn't need to have integer coordinate.

Could you help him?

## Input

Only one test case in each test file!

The first line contains single integer n (2 ≤ n ≤ 600000) — the number of friends.

The second line contains n integers x1, x2, ..., xn (1 ≤ xi ≤ 109) — the current coordinates of the friends, in meters.

The third line contains n integers v1, v2, ..., vn (1 ≤ vi ≤ 109) — the maximum speeds of the friends, in meters per second.

you don't have to know which one is Wavator, because he is included in n.

## Output

Print the minimum time (in seconds) needed for all the n friends to meet at some point on the road.

Output accurate to 5 numbers after Decimal point.

## Sample Input

3
7 1 3
1 2 1

## Sample Output

2.00000

## HINT

In the sample, all friends can gather at the point 5 within 2 seconds. In order to achieve this, the first friend should go south all the time at his maximum speed, while the second and the third friends should go north at their maximum speeds.

More importantly, as the time is not a integer and you are just asked to find 5 number after the decimal point, so if the difference between two numbers is smaller than a small number, you can consider they are same.

For example, 2.00000001 == 2.00000000 is true because 2.00000001 - 2.00000000 = 0.00000001, which is small enough.

Using double all the time, don't convert it to long.

[Submit][Status]