atcoder#ABC279D. [ABC279D] Freefall

[ABC279D] Freefall

配点 : 400400

問題文

スーパーマンである高橋くんは、地上で困っている人を助けるため、あるビルの屋上から飛び降りようとしています。 高橋くんがいる星には重力の大きさを表す gg という値が定まっており、 高橋くんが落下を開始してから地面に到達するまでにかかる時間は Ag\frac{A}{\sqrt{g}} です。

現在の時刻は 00 であり、g=1g = 1 が成り立ちます。 高橋くんは、今から次の操作を好きな回数(00 回でもよい)行います。

  • 超能力により gg の値を 11 増やす。時間が BB 経過する。

その後、高橋くんはビルから飛び降ります。落下を開始した後は gg の値を変えることはできません。 また、操作によって経過する時間と落下にかかる時間以外は考えないものとします。

高橋くんが地面に到達できる最も早い時刻を求めてください。

制約

  • 1A10181 \leq A \leq 10^{18}
  • 1B10181 \leq B \leq 10^{18}
  • 入力は全て整数

入力

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

AA BB

出力

高橋くんが地面に到達できる最も早い時刻を出力せよ。 出力は、真の値との絶対誤差または相対誤差が 10610^{-6} 以下のとき正解と判定される。

10 1
7.7735026919
  • 操作を 00 回行うとき、地面に到達する時刻は 1×0+101=101\times 0+\frac{10}{\sqrt{1}} = 10 です。
  • 操作を 11 回行うとき、地面に到達する時刻は 1×1+1028.071\times 1+\frac{10}{\sqrt{2}} \fallingdotseq 8.07 です。
  • 操作を 22 回行うとき、地面に到達する時刻は 1×2+1037.771\times 2+\frac{10}{\sqrt{3}} \fallingdotseq 7.77 です。
  • 操作を 33 回行うとき、地面に到達する時刻は 1×3+104=81\times 3+\frac{10}{\sqrt{4}} = 8 です。

操作を 44 回以上行っても、地面への到達時刻は遅くなるのみです。 よって、操作を 22 回行ってから飛び降りるのが最適で、答えは 2+1032+\frac{10}{\sqrt{3}} です。

5 10
5.0000000000

操作を 11 回も行わないのが最適です。

1000000000000000000 100
8772053214538.5976562500