#include <bits/stdc++.h>
using namespace std;
typedef vector<int> vi;
typedef long long ll;
#define FOR(i, b, e) for(int i=b; i<=e; i++)
#define FORD(i, b, e) for(int i=b; i>=e; i--)
#define SIZE(x) ((int)x.size())
const ll inf=1e12;
vi ans;
ll noms[15]={1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 50000};
ll greedyans(ll val){
ll ret=0;
FORD(i, 14, 0){
ret+=val/noms[i];
val%=noms[i];
}
return ret;
}
int f(ll bank, ll val){
ll maxbank=greedyans(val);
ll ret=maxbank;
FOR(i, 1, maxbank){
if(val<bank*i) break;
ret=min(ret, i+greedyans(val-bank*i));
}
return ret;
}
void fewestPieces(int newBanknote, vi amounts
2019NHOI初中 第四题 货币系统(2.7)
最新推荐文章于 2023-12-23 20:18:41 发布