https://atcoder.jp/contests/abc194/tasks/abc194_b
解説
https://atcoder.jp/contests/abc194/submissions/20734525
競技プログラミングの基本である、考えうる組合せの全探索を行おう。
今回は、仕事Aと仕事Bをどの従業員に割り当てるかという部分を全探索する。
仕事Aにaさん、仕事Bにbさんを割り当てるようにしたのが、下記の実装である。
こうすると、組合せは103×103=106通りなので問題ない。
全通りの時は、場合によりけりだが、107通りくらいが限界だと思うといい。
仕事を割り当てたときにかかる時間はa=bかどうかによって異なるので注意。
chminの定義については、自分の提出を見てほしい。
int N, A[1010], B[1010]; //--------------------------------------------------------------------------------------------------- void _main() { cin >> N; rep(i, 0, N) cin >> A[i] >> B[i]; int ans = inf; rep(a, 0, N) rep(b, 0, N) { int cost; if (a == b) cost = A[a] + B[b]; else cost = max(A[a], B[b]); chmin(ans, cost); } cout << ans << endl; }