Codeforces Round #653 (Div. 3) - E2. Reading Books (hard version)

問題リンク

解説

基本的にE1と同じで、AliceとBobが両方好きな本を使った数を固定した全探索をします。

このとき、at least  kを満たすようにとってまだ m冊に届いていない場合、使っていない中で小さいほうからとっていくのが最適なのは明らかでしょう。

あとはこれを実装する方針ですが、使っていないのをBITにいれていくのがやりやすいと思います。

BITを2本用意して、

  • bit_c : 使ってない中で t時間かかるのが何本あるか
  • bit_s : 使ってない中で t時間かかるの合計

みたいな感じを座圧してBITにいれてあげるといいです。

具体的な実装はそこそこコメントいれてみたので、参考にして見てください。

提出コード

codeforces.com