1066 - B.惱人的零錢 | TIOJ INFOR Online Judge

本文最後更新於:2024年1月21日 上午

1066 - B.惱人的零錢 | TIOJ INFOR Online Judge

annoying-money.cpp

// Author : ysh
// 10/21/2022 Fri  9:09:09.77
// https://tioj.ck.tp.edu.tw/problems/1066
#include<bits/stdc++.h>
using namespace std;
const int mn[] = {1,5,10,20,50};
int check(int n,vector<int>&f,vector<int>&b) {
    int ff = 0,cc = 0;
    // vector<int>all(f.begin(),f.end());
    for(int i = 0;i<5;i++) {
        // all[i] = all[i] + b[i];
        ff = ff + f[i] * mn[i];
        // bb = bb + b[i] * mn[i];
        cc = cc + f[i];
    }
    ff = ff - n;
    // bb = bb + n;
    int coins = 0;
    for(int i = 4;i >= 0;i--) {
        coins = coins + min(f[i] + b[i],ff / mn[i]);
        ff -= min((f[i] + b[i]) * mn[i],(ff / mn[i]) * mn[i]);
    }
    return coins;
}
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);

    int n;cin>>n;
    while(n--) {
        int m;cin>>m;
        vector<int>f(5),b(5);
        for(int &i : f) {
            cin>>i;
        }
        for(int &i : b) {
            cin>>i;
        }
        cout<<check(m,f,b)<<"\n";
    }
    return 0;
}

1066 - B.惱人的零錢 | TIOJ INFOR Online Judge
http://mysh212.github.io/algosolution/annoying-money.cpp/
作者
ysh
發布於
2022年10月21日
更新於
2024年1月21日
許可協議