https://atcoder.jp/contests/tokiomarine2020/tasks/tokiomarine2020_b
解説
https://atcoder.jp/contests/tokiomarine2020/submissions/14258873
シミュレーションしていけばいい。
鬼は子供に常に向かうように移動すればいいし、子供は鬼から逃げるように移動すればいい。
これはどちらも同じ方向になる。
自分は実装を簡単にするために、この移動方向を常に数直線の正の方向にしている。
鬼≦子供であれば、移動方向は正の方向であるが、鬼>子供なら負の方向なので、
その場合は、原点で反転させることで、位置関係を変えずに移動方向を逆にしている。
あとは、鬼・子供がT秒語にどこにいるかというのを計算して、鬼が子供を追い越していれば、
時刻Tまでに捕まえられるので、それを判定する。
ll A, V, B, W, T; //--------------------------------------------------------------------------------------------------- void _main() { cin >> A >> V >> B >> W >> T; if (A > B) A *= -1, B *= -1; A += V * T; B += W * T; if (B <= A) cout << "YES" << endl; else cout << "NO" << endl; }