値が最大の中で最小の添え字を取得

添え字の方に Reverse を使って max_by_key をする

xs.iter().copied().enumerate().max_by_key(|i, v| (v, Reverse(i)))

[begin, end) 全探索

tuple_combinations を使うといい感じになる

(0..=n).tuple_combinations.map(|(begin, end)| {...})

(0..=n) のようにイコールがつくことに注意

fold に渡す関数に mutable な acc を使う

fold に渡す関数に mutable な acc を使う

[T] からイテレーターを作る

HashMap からイテレーターを作る

イテレータを返す関数を作る

↓こんな感じにすれば良い?