AtCoder ABC 160 B – Golden Coins Python解説

スポンサーリンク

Golden Coins

高橋君は金色の硬貨が好きです。自分が持っている 500 円硬貨 1 枚につき 10005 円硬貨 1 枚につき 5 の 嬉しさ を得ます。
高橋君は X 円を持っています。これを高橋君の嬉しさが最大になるように両替したとき、高橋君の嬉しさはいくらになりますか?

AtCoder Beginner Contest 「Golden Coins」

500円だと1枚につき嬉しさ1000、5円だと1枚につき嬉しさは5です。高橋君の嬉しさが最大になるようにとのことなので、できるだけ500円で両替を行い、残りを5円で貰うパターンで実装していきます。

x = int(input())

ans = 0

ans += x // 500 * 1000
x %= 500

ans += x // 5 * 5

print(ans)

高橋君の持っているX円を500円で割り、500円の枚数と嬉しさの1000を掛けてansに足します。
次に、x %= 500でX円を500円で割った余りを求めます。
最後に、500円で割った余りを5円で割り、5円の枚数と嬉しさの5を掛けてansに足します。

AtCoderB問題

Posted by cheese