ツバサの備忘録

主に備忘録代わりに精進記録を載せていくつもりです。

AOJ 3052 - Milk (RUPC2019 Day2 B)

問題
提出コード

解法

まず、X \lt Aの際は答えがXになるのは自明なので、それ以外の場合について考えます。
A個の空き瓶をB個の新品と交換したとき、手元にある瓶の個数はA-B個減ります。この減る個数は一定です。
よって、X個の瓶がA個未満になるまで交換することができる回数は、XからA-Bを何回引いてもA未満にならないか、というものと同じになります。
よって、最終的には(X-A)/(A-B)+1回交換できることになり、この回数にBをかけたものと、最初のXの和が答えになります。 modの撮り忘れには注意します。

感想

差が一定なので、差に注目するタイプです。最初から交換できないパターンの場合分けを忘れて、ずっと答えが合わず時間をかけました。