這天是社展即將開始的前幾天,你打算召集所有的建電學術補拍一個即將要發布的倒數影片。
一般來說,我們會在放學時社辦集合,但由於盛夏來臨,社辦的社辦味已經濃到除了因為新冠失去嗅覺的人都難以忍受的程度,因此你決定找個下課選一個最近的地點集合拍倒數,已知要參與的學術都是同屆且教室在同一排,為了確保你的下課有足夠的時間可以打個幾把音遊,因此你想要計算安排在集合所需時間最短的情況下所需要的時間。
在一條橫著的走廊上共有 $n$ 個人,對於第 $i$ 個人,其教室位於座標 $x_i$ ,並可以任何不大於 $v_i$ 的跑速向左或右移動。你的任務是找出可以讓所有人會合的最短時間,會合座標不必為整數。
第一行有一個正整數 $n (2 \leq n \leq 5 \cdot 10^4)$ --- 總人數
接下來 $n$ 行,每行兩個整數 $x_i,v_i (1 \leq x_i \leq 10^9, 1 \leq v_i \leq 10^9)$ --- 第 $i$ 個人的初始座標和速度
輸出一個實數 $t$,表示可以讓所有人會合的最短時間,絕對或相對誤差不超過 $10^{−6}$ 的任何輸出將被視為正確。具體來說,若你給出的答案是 $a$ 而正確答案是 $b$,只要 $\frac{|a-b|}{max(1, b)} \leq 10^{-6}$,則答案將視為正確。
3 7 1 1 2 3 1
2.000000000000
2 1 1 4 1
1.500000000000
對於第一筆測資:第一個人以最大速率相左前行,而第三及第四個人以最大速率向右前行,則所有人可以在 $2$ 秒內會合到座標 $5$。
| No. | Testdata Range | Constraints | Score |
|---|---|---|---|
| 1 | 0~1 | 範例測資 | 1 |
| 2 | 2~11 | $v_i = 1$ | 15 |
| 3 | 12~21 | $n, x_i, v_i \le 1000$ | 30 |
| 4 | 0~39 | 無其他限制 | 54 |