Codeforces Rounde No.662 感想
Cはまっさきに二分探索で考えるべきだった。時既に遅し。
A問題
超難問に見えてしまったが、渦巻状に中心に向かっていくイメージで答えは出る。
B問題
これもめちゃくちゃ難しいと思ったが、
各板の長さごとに cnt/4
および (cnt%4)/2
を管理しておくと、割といい感じになる。
C問題
O(1)
で求める方法もあるっぽいが、最小値の最大化ということで二分探索をする。
シミュレーションは、残っている数の大きいものから優先的に使っていくのが貪欲で賢い。
自分はpriority queueを使った。
また、使えないものを別のスライスにおいておくという手法でシミュレーションを行ったが、
この部分は、直近 x
回で使ったものをmapで管理しておくのが簡単だったかもしれない。
(こうすれば、最後のセクションの処理部分が楽になる気がする。)