https://onlinejudge.u-aizu.ac.jp/challenges/sources/PCK/Prelim/0383
考察過程
1. まだ難しくなる段階じゃない
2. 何か全探索する対象を探す
3. 1リットルを買う個数を全探索し、足りない分を500ミリリットル買うことにする
解法
https://onlinejudge.u-aizu.ac.jp/status/users/hamayanhamayan/submissions/1/0383/judge/3162124/C++14
1リットルを買う個数を全探索しよう。
まだ足りないのであれば、足りない分を500ミリリットルで買う。
500で切り上げすると、500ミリリットルを買うための個数が得られる。
int A, B, X; //--------------------------------------------------------------------------------------------------- void _main() { cin >> A >> B >> X; int ans = inf; rep(a, 0, 21) { int d = X - a * 1000; int cst = a * A; if (0 < d) { cst += (d + 499) / 500 * B; } chmin(ans, cst); } cout << ans << endl; }