atcoder#ZONE2021B. 友好の印

友好の印

题目描述

あなたは今、高さ 1000 1000 の非常に高いタワーの下にいます。タワーから距離 D D 離れた位置の上空 H H の高さに UFO がおり(入出力例 1 の図を参照してください)、あなたは UFO に電波を届けたいです。
タワーと UFO の間には遮蔽物が N N 個あります。i i 番目の遮蔽物はタワーから UFO の方向に向かって距離 di d_i の場所に位置していて、高さは hi h_i です。
あなたはタワーを上って、あなたと UFO の間の直線上に遮蔽物が 1 1 つも無い状態にしたいです。上る必要のある最低の高さを求めてください。
なお、地面は凹凸のない水平面であり、タワー及び遮蔽物は地面と垂直に建っているものとします。
また、あなたと UFO の間の直線上にちょうど遮蔽物の上端があるとき、その遮蔽物には遮蔽されていないものとします。

输入格式

入力は以下の形式で標準入力から与えられる。

N N D D H H d1 d_1 h1 h_1 d2 d_2 h2 h_2 \vdots dN d_N hN h_N

输出格式

答えを出力せよ。
想定解答との絶対誤差または相対誤差が 103 10^{-3} 以下であれば正解と判定される。

题目大意

你现在在一座高达1000层的非常高的塔楼下面。在距离塔 DD 远的上空的 HH 位有UFO(请参照输入输出1的图)

塔和飞碟之间有 NN 个屏蔽物。从塔向UFO方向看第i个屏蔽物位于距离 did_i 处,其高度为hih_i

你想登上塔楼,使你和UFO之间的直线上没有一个遮蔽物。请求出需要上升的最低高度。

地面是水平的,塔和地面呈垂直,若你和UFO中间的直线正好擦过遮蔽物时,它不会遮蔽你。

1 10 10
3 5
2.857142857142857
1 10 10
3 2
0.0
5 896 483
228 59
529 310
339 60
78 266
659 391
245.3080684596577

提示

ストーリー

まずは友好の印として、UFO の操縦プログラムをクラッシュさせてみよう。俺は机の上の ZONe 缶に偽装した USB から、地球最強のコンピュータウイルス「KARATE」を取り出した。
こいつを UFO に送りつけてやる。UFO がどんなシステムを使っているかは分からないが、あらゆるシステムをクラッシュさせてきた KARATE は、きっと効くはずだ。

制約

  • 入力は全て整数
  • 1 < = N < = 100 1\ <\ =\ N\ <\ =\ 100
  • 1 < = di < D < = 1000 1\ <\ =\ d_i\ <\ D\ <\ =\ 1000
  • 1 < = hi < H < = 1000 1\ <\ =\ h_i\ <\ H\ <\ =\ 1000

Sample Explanation 1

タワーを 207 \frac{20}{7} 上ると、図のようにあなたと UFO の間の直線上に遮蔽物が 1 1 つも無い状態になります。 ![](https://img.atcoder.jp/ghi/425da28ab0802405a8541ed16d81e5cf.png)

Sample Explanation 2

タワーを登らずとも UFO に電波を届けることができます。