Contest212の解説を行います。今回はC,D問題です。使用言語はpythonです。ACコードだけでなく出題者の意図や考察過程も記述しています。気になるところや要望があればお気軽にコメントください。二分探索が使えるか答えが与えられた配列の順序に依らないことに気付くか考察Bの配列から使用する値を取り出して、その配列との差が最も小さくなる値をAから選ぶ必要がある。Aを昇順にソートした後に二分探索を使って最適な値を探索。最小値を取り出していくので優先度付きキューを使うことはわかる。問題はクエリ2のリスト全体に加算する操作をどうするか。ここでは発想を変えてクエリ3で答えを出すときに、いままでクエリ2の加算分を足して出力することを考えてみる。すると優先度付きが保てるように、途中にクエリ1でリストにボールを追加するときに加算分を引き算したらよい。Proよくある質問LinksX(Twitter)GitHubメディアキットLegal利用規約プライバシーポリシ。