indexリストの作成が一番時間のかかる処理となる。last_indices)print(ans)あと、Pythonでは文字列検索が十分速いため、下手にindexを前計算するより、1文字ずつ検索する方が、この制約下では速かったりする。人が被っている色はいくつあるか?」を更新していく。人の色がないと達成不可能。個ある帽子が複数ある場合はどれを選んでもよいので、その数だけパターン数は乗算される。変な読み違いをして時間をかけてしまった。AさんとBさんで別々だと思い込んでしまった。(まぁそれでも変曲点ごとに分解すれば解ける。実装がやたら面倒くさいが)場合分け。速度と距離のグラフを書くと理解の整理になる。ごとに必ず出会い続けるので、infinity。ない場合、より多くの距離を進む方をBさんとする。