競技プログラミング用 知識集積所
ABC415D - Get Many Stickers
最終更新:
sport_programming
-
view
問題
必要知識
B以下レベルの内容は省略
考え方
コーラはどうせ全部飲むので、a本の空き瓶をシール+b本の空き瓶に変えてくれると思っていい。
さらに言えば、a-b本の空き瓶をシールに変えてもらえるが、交換後に空き瓶をb本以上もっていなければならない、と考えてもよい。
さらに言えば、a-b本の空き瓶をシールに変えてもらえるが、交換後に空き瓶をb本以上もっていなければならない、と考えてもよい。
ならば当然a-bが小さい交換ほど優先して適用する貪欲法(未作成)を行えばいいだけ。
交換ルールの優劣ははpriority_queue(未作成)を使ってもいいし、vector(未作成)をソートしてもいい。
ただし、愚直にforループで行うとnが大きくaやbが小さい場合に時間がかかるので、各交換条件ごとに割り算で一発で出すこと。
交換ルールの優劣ははpriority_queue(未作成)を使ってもいいし、vector(未作成)をソートしてもいい。
ただし、愚直にforループで行うとnが大きくaやbが小さい場合に時間がかかるので、各交換条件ごとに割り算で一発で出すこと。