编辑代码

#include <iostream>
using namespace std;

const int V[6] = {1, 5, 10, 50, 100, 500}; // 硬币面值
int C[6]; // 现在硬币的数量
int A; // 需要支付的金钱

int leastNum(); // 求最少的硬币数量
int main() {
    for (int i = 0; i < 6; i++) {
        cin >> C[i];
    }
    cin >> A;
    cout << leastNum();
}

int leastNum() {
    int ans = 0;
    for (int i = 5; i >= 0; i--) {
        int t = min(A / V[i], C[i]); // 使用的硬币数量
        A -= t * V[i];
        ans += t;
    }
    return ans;
}