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

ABC415D - Get Many Stickers

最終更新:

sport_programming

- view
管理者のみ編集可


問題


必要知識

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

考え方

コーラはどうせ全部飲むので、a本の空き瓶をシール+b本の空き瓶に変えてくれると思っていい。
さらに言えば、a-b本の空き瓶をシールに変えてもらえるが、交換後に空き瓶をb本以上もっていなければならない、と考えてもよい。

ならば当然a-bが小さい交換ほど優先して適用する貪欲法(未作成)を行えばいいだけ。
交換ルールの優劣ははpriority_queue(未作成)を使ってもいいし、vector(未作成)をソートしてもいい。
ただし、愚直にforループで行うとnが大きくaやbが小さい場合に時間がかかるので、各交換条件ごとに割り算で一発で出すこと。

解答例


注意点


別解

ウィキ募集バナー