Yukicoder032 貯金箱の憂鬱

問題概要

1,25,100円硬貨、1000円札がある。 今それぞれの硬貨が複数枚与えられるので、硬貨の枚数を最小化せよ。

(硬貨の枚数)$≦10^3$

問題名を書く

解法

値段の低い硬貨から順に大きい値段の硬貨に両替してもらうと、硬貨の枚数を最小化できる。

計算量:$O(1)$

ソース

    #include <bits/stdc++.h>
    using namespace std;
    
    using VS = vector<string>;    using LL = long long;
    
    LL ans = 0LL;
    
    int main() {
        cin.tie(0);
        ios_base::sync_with_stdio(false);
    
        int c100, c25, c1;
        cin >> c100 >> c25 >> c1;
        c25 += c1 / 25; c1 %= 25;
        c100 += c25 / 4; c25 %= 4;
        c100 %= 10;
        ans = c100 + c25 + c1;
        cout << ans << "\n";
    
        return 0;
    }
Share Comments
̃Gg[͂ĂȃubN}[Nɒlj
comments powered by Disqus