Kazun の競プロ記録

競技プログラミングに関する様々な話題を執筆します.

AtCoder Beginner Contest 265 A問題 Apple

問題

atcoder.jp

提出解答

atcoder.jp

問題の概要

りんごが次のように売られている.

  • 1個,  X
  • 3個,  Y

ちょうど  N 個のりんごを買うためには最低何円必要か (買ったりんごを捨てたり食べたり, 売ったりして減らすのは禁止) ?

制約

  •  1 \leq X \leq Y \leq 100
  •  1 \leq N \leq 100

解法

最も安くりんごをちょうど  N 個買うためには以下のうちのどちらかで買えば良い.

  • 1個売りのりんごを  N 個買う.
  • できる限り3個セットのリンゴを買い, 残りの分は1個買い.

それぞれの場合にかかる費用は

  •  NX
  •  \left \lfloor \dfrac{N}{3} \right \rfloor Y+(N \pmod{3}) X

であるから, 求めるべき解答は

 \min \left(NX,  \left \lfloor \dfrac{N}{3} \right \rfloor Y+(N \pmod{3}) X \right)

である.