ABC3完。はじめて優先度つきキューの存在を知った。
A. Most Unstable Array
nが3以上だったら{0, m, 0, 0, ...}で2m。nが1の場合は0。nが2の場合は{0, m}でm。この場合が一番大きくなるので場合分けして出す。
B. Two Arrays And Swaps
aの一番小さい要素とbの一番大きい要素を比較して後者のほうが大きければ入れ替え。これをk回。終わったらaの合計を出す。nの制約がやたら小さいので毎回ソートしても間に合う。
C. Board Moves
全部中央に集めるのがよさそう。斜めにも動けることに注意して事前にnの制約の最大値まで出しておく。あるkの時の値はk-2の時の値から計算できるので下からdpっぽく。こういう問題のためにノートかペイントソフトがあるといろいろ書けて便利。
D. Constructing the Array
0が連続する区間をどう保存してどう最大の場所をもってくるかで優先度付きキューの存在を知らなかったため愚直にやってTLE。ちゃんと精進しましょう。