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

ABC419C - King's Summit

最終更新:

sport_programming

- view
管理者のみ編集可


問題


必要知識

B以下レベルの内容は省略
  • 特になし

考え方

Rの範囲について、最も大きいRを持つものが上に、最も小さいRを持つものが下に動くと、1回の移動で2縮めることができる。
これは、Rの範囲が2以上である場合は必ずできる。
また、Rの範囲が1である場合は、最も大きいRを持つものが上に、最も小さいRを持つものが上下移動なしにすると、1縮めることができる。

Cの範囲についても同様。
そして、RもCも最大や最小に該当した場合の斜め移動も可能である。

ということで、結局RとCの範囲が大きい方について、2ずつ減らす(最後に1残ったら1減らす)ことを繰り返して0にするまでに必要な最小回数を求めればよい。
計算としては、2で割った切り上げということになる。

解答例


注意点


別解

ウィキ募集バナー