競技プログラミング用 知識集積所

ABC423B - Locked Rooms

最終更新:

sport_programming

- view
管理者のみ編集可


問題


必要知識

A問題レベルのものは省略
  • 特になし

考え方

入れない部屋はまとまって存在するはずなので、その区間の右端と左端を見つければよい。
そしてそれは、閉まっているドアのうち左端のものと右端のものの間の部屋数である。
つまり、ドアを全探索※して、閉まっているドアの最大番号と最小番号を調べて引き算すればよい。

……とみせかけて、コーナーケース※が存在する。
全てのドアが開いている場合は、最大番号や最小番号がうまく取れない。
if分岐で対応する、max()関数※で負の数を強制的に0にする、などの対応が必要。

解答例


注意点


別解

ウィキ募集バナー