算数的な問題
問題概要
高橋君は金色の硬貨が好きです。自分が持っている 500 円硬貨 1 枚につき 1000、5 円硬貨 1 枚につき 5 の「嬉しさ」を得る。
高橋君が 円もっているとき、高橋君の「嬉しさ」の最大値はいくらか?
制約
考えたこと
コスパを整理しよう。
- 500 円硬貨は、1 円あたりの「嬉しさ」が
- 5 円硬貨は、1 円あたりの「嬉しさ」が
であるから、500 円硬貨をできるだけ多く持って、残りの金額で 5 円硬貨をできるだけ多く持つのがよいとわかる。よって、
- 500 円硬貨の枚数:
X / 500
枚 - 5 円硬貨の枚数:
(X % 500) / 5
枚
となる。これに、1000、5 をかけて足せば、答えが求められる。
コード
#include <bits/stdc++.h> using namespace std; int main() { int X; cin >> X; int num_500 = X / 500; int num_5 = (X % 500) / 5; cout << num_500 * 1000 + num_5 * 5 << endl; }