Official
C - 終電に間に合え! / Catch the Last Train! Editorial
by
C - 終電に間に合え! / Catch the Last Train! Editorial
by
sounansya
終電から駅までの距離は \(M-G\) であるため、高橋君は \(\displaystyle \frac{M-G}{V}\) 秒以下の時間で駅に到着する必要があります。
(1) \(\displaystyle \frac{M-G}{V} \le K\) のとき
高橋君は \(\displaystyle \frac{M-G}{V}\) 秒の間ずっと全力ダッシュすることができるので、 \(\displaystyle \frac{M-G}{V}\) 秒で速度 \(D\) で \(G\) 移動できるか、つまり \(\displaystyle \frac{M-G}{V}\times D \geq G\) が成り立つか判定すれば良いです。
(2) \(\displaystyle \frac{M-G}{V} > K\) のとき
高橋君は最初の \(K\) 秒全力ダッシュして、残りの \(\displaystyle \frac{M-G}{V}-K \) 秒通常の速度で移動するとして良いです。
この場合高橋君は \(\displaystyle \frac{M-G}{V}\) 秒間で \(\displaystyle KD+\frac{M-G}{V}-K\) だけ移動できるので、この値が \(G\) 以上か判定すれば良いです。
以上 \(2\) つの場合が判定できれば良いです。この問題も B 問題と同様オーバーフローに注意してください。両辺を \(V\) 倍して整数同士の大小関係を(多倍長整数などを用いて)比べるのが最も安全で楽だと思います。double 型で判定すると小数点誤差により WA となります。
