[AtCoder] ABC 128 D – equeue

2019年5月28日

問題

方針

操作の順序

操作 A, B を先に行い、残りの操作で C, D を行います。操作 C, D では負の価値の宝石を絶対値の大きい順に筒に詰めていきます。最後にまとめて宝石を戻すということです。

全探索

制約が緩いので全探索を行います。操作 A を行う回数を \( l \)、操作 B を行う回数を \( r \) とすると、\( 0 \leq l + r \leq K \) であり、戻すことができる宝石の数は \( K – (l + r) \) となります。

どのように全探索を行うかですが、操作 A と 操作 B の回数の二重ループで行います。注意する点は、操作 A で宝石を取った宝石は、操作 B で宝石を取ることができないということです。\( N – l \) が残りの宝石数となるので、この値が操作 B で取ることができない宝石が分かります。

コード

提出したコード

全探索