F - Invisible Hand Editorial by evima
公式解説の別解の補足公式解説の「別解」をもう少し整理すると、\(N + M\) 個の値 \(A_1, \dots, A_N, B_1 + 1, \dots, B_M + 1\) を昇順にソートした際の \(M\) 番目の値が答えであることが分かります。(以下、公式解説の記号を使います。)これは、\(x = 0\) のとき \(f(x) - g(x) = -M\) であり、\(x\) を増やしていくと \(x = A_1, \dots, A_N, B_1 + 1, \dots, B_M + 1\) で \(f(x) - g(x)\) が \(1\) ずつ増加するためです。
実装例 (Python)
N, M = map(int, input().split())
A = list(map(int, input().split()))
B = list(map(int, input().split()))
print(sorted(A + list(map(lambda x: x + 1, B)))[M - 1])
posted:
last update: