AtCoder Petrozavodsk Contest 001 B - Two Arrays
解法
とを同じ数字にそろえる場合に、3パターンの選択の方法があります。
を選び、以外を選ぶパターン
はになり、は据え置きです。
この方法だと、かつが偶数の場合にそろえることができます。とを選ぶパターン
,になります。ので、の場合、これを行うことでそろえることができます。以外を選び、を選ぶパターン
,になります。
の場合にそろえることができます。
これらより、の際は、2つめの方法でいくらでも数を調整することができますが、の際は3つめの方法を使うしかありません。
しかし、3つめの方法を利用するには、その回数分だけ、同時に1つめのパターンも行うことになります。
ということで、結局は、1つめのパターンと3つめのパターンを同時に行い、3つめのパターンが必要な部分の数を全てそろえた後、残った部分を2つめのパターンを利用してそろえる、というのが確実な方法になります。
ここで、3つめのパターンを行う必要がある回数は、です。1つめのパターンは、である限り行うことができるので、最大で回行うことができます。
なので、結局問題の条件を満たすかどうかの判定は、
を満たしているかどうかと一致します。
感想
この問題、大学の友人との勉強会でも出題したのですが、説明が難しすぎます…
結局調べるべきことはシンプルなのですが、その発想に至るまでの経緯が少し複雑でした。