No.370

ゴミの落ちている場所はあらかじめソートしておく.

折り返すのは高々1回である. 2回以上折り返すと1回折り返すより少ない距離しか移動できない.

まずは途中で折り返さない場合の最小移動距離を求める.

次に途中で折り返す場合の最小移動距離を求める. これは 番目のゴミまで移動して, そこから折り返す場合の最小移動距離を ごとに求め, その最小値を取る.

上記を最初に正負どちらに移動するかのパターンごとに求める.