https://onlinejudge.u-aizu.ac.jp/beta/room.html#KUPC2020Spring/problems/A
解説
チームの組み合わせはC(4,2)/2通りしかないので、全通り試して実力差が最も小さいものを答えよう。 実装では、1234の順列を全列挙して、前半2人と後半2任でグループを作ることで全列挙する。 無駄に組み合わせを考えてしまうが、速度を犠牲にして実装を簡単化するのはよくやる。 (漏れも軽減できるしね)
int rate[4]; //--------------------------------------------------------------------------------------------------- void _main() { rep(i, 0, 4) cin >> rate[i]; int ans = inf; sort(rate, rate + 4); do { int ab = rate[0] + rate[1]; int cd = rate[2] + rate[3]; chmin(ans, abs(ab - cd)); } while (next_permutation(rate, rate + 4)); cout << ans << endl; }