https://atcoder.jp/contests/abc123/tasks/abc123_b
解説
https://atcoder.jp/contests/abc123/submissions/4870610
料理を注文する順番を全探索する。
これはC++だとnext_permutationを使うといい。
注文順が確定したら、あとはシミュレーションをする。
注文が10の倍数の時刻でなかったときは、一番近い10の倍数の時刻で注文するのが、最適なので
そういう方針でシミュレーションしよう。
その中で最短の時間が答え。
int A[5]; //--------------------------------------------------------------------------------------------------- void _main() { rep(i, 0, 5) cin >> A[i]; vector<int> v; rep(i, 0, 5) v.push_back(i); int ans = inf; do { int t = 0; rep(i, 0, 5) { int vi = v[i]; if (0 < t % 10) t = t - (t % 10) + 10; t += A[vi]; } chmin(ans, t); } while (next_permutation(all(v))); cout << ans << endl; }