三井住友信託銀行プログラミングコンテスト2019 F - Interval Running (600)
移動距離の合計が大きい方をA、少ない方をBとする
移動距離の合計が同じ場合は無限に同じ位置になる
$ t_0 + t_1毎に会うため
t0での速度が$ A_0 \lt B_0でない場合は0
$ t_0時点でAが先行し、$ t_0+t_1時点でもAが先行しているため合うタイミングが無い
次は更に差が付いた状態で始まるため、これ以降会うことも無い
上の条件を満たしている場合、$ t_0でBが抜き、$ t_1でAが抜くことになる
ただし、移動距離の差が$ t_0で詰まる距離の倍数の場合、$ t_0終了時に会うことになり回数が他の場合より1減ることに注意
何度会うかは上のとおり移動距離や速度から定数時間で求められるので$ O(1)