競技プログラミング用 知識集積所

ABC416D - Match, Mod, Minimize 2

最終更新:

sport_programming

- view
管理者のみ編集可


問題


必要知識

B以下レベルの内容は省略

考え方

mで割った商は0か1にしかならない。
よって、式の値は「全ての合計-m*(和がm以上の値になるペアの数)」である。
ということは、和がm以上の値になるペアを同時に何個作れるかを考えればいい。

これは貪欲法(未作成)を使えば簡単。
aとbをまずそれぞれソートする。
その後、bの大きい方から順に、aの中から「未使用の数の中で自分との和がm以上になる最小のやつ」を相方に選んでいけばよい。
これは、aを前から、bを後ろから同時に見ていく線形探索(未作成)で簡単にできる。

解答例


注意点


別解

ウィキ募集バナー