ツバサの備忘録

主に備忘録代わりに精進記録を載せていくつもりです。

ABC127 D - Integer Cards

問題
提出コード

解法

カードを交換する順番は自由に置き換えても問題なく、C_{j}もしくはA_{i}が大きいものから順番にN枚選んでいくのが最も最適な行動になります。
ということで、A_{j}(C_{j},B_{j})のペアをそれぞれ降順にソートし、A_{j}の先頭とC_{j}の先頭を見比べ、大きいものをN枚の中で選べるだけ選んでいく、という操作を繰り返していけば良いです。
あとは、選んだ数字の総和を求めれば答えになります。

解法

優先度付きキューを利用する方法等実装の手札はいくつかありましたが、よりにもよって一番バグを発生させやすい実装方法を選んだ気がします。
おそらく、A_{i}は、B_{j} = 1,C_{j} = A_{i}というものとみなして、同様に処理をしてしまうのが一番楽な気がします。