競技プログラミング用 知識集積所
ABC419C - King's Summit
最終更新:
sport_programming
-
view
問題
必要知識
B以下レベルの内容は省略
- 特になし
考え方
Rの範囲について、最も大きいRを持つものが上に、最も小さいRを持つものが下に動くと、1回の移動で2縮めることができる。
これは、Rの範囲が2以上である場合は必ずできる。
また、Rの範囲が1である場合は、最も大きいRを持つものが上に、最も小さいRを持つものが上下移動なしにすると、1縮めることができる。
これは、Rの範囲が2以上である場合は必ずできる。
また、Rの範囲が1である場合は、最も大きいRを持つものが上に、最も小さいRを持つものが上下移動なしにすると、1縮めることができる。
Cの範囲についても同様。
そして、RもCも最大や最小に該当した場合の斜め移動も可能である。
そして、RもCも最大や最小に該当した場合の斜め移動も可能である。
ということで、結局RとCの範囲が大きい方について、2ずつ減らす(最後に1残ったら1減らす)ことを繰り返して0にするまでに必要な最小回数を求めればよい。
計算としては、2で割った切り上げということになる。
計算としては、2で割った切り上げということになる。