ABC423 B - Locked Rooms

let mut pos0 = 0_i64;
for l in &ls {
    if *l == 0 {
        pos0 += 1
    } else {
        break;
    }
}
// ↓ こう書く方がよかった
let pos0 = ls.iter().copied().take_while(|x| *x == 0).count();

ABC423 D - Long Waiting

ABC423 E - Sum of Subarrays

ABC423 F - Loud Cicada

「ちょうど M 種類」を扱うのは難しい。

M種類以下からM-1種類以下を引くなどの考え方をするとよい?