| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 41787 | pljplj | 【S】T2 | Python3 | 解答错误 | 0 | 4000 MS | 294128 KB | 1215 | 2026-05-29 20:07:57 |
import sys def main(): input = sys.stdin.read data = input().split() idx = 0 T = int(data[idx]) idx += 1 for _ in range(T): n = int(data[idx]) idx += 1 a = list(map(int, data[idx:idx+n])) idx += n b = list(map(int, data[idx:idx+n])) idx += n a.sort() b.sort() def check(v): from collections import deque q = deque() j = 0 for i in range(n): while j < n and b[j] <= a[i] - v: q.append(j) j += 1 if q: q.popleft() continue while j < n and b[j] < a[i] + v: j += 1 if j >= n: return False j += 1 return True l = 0 r = 10**9 ans = 0 while l <= r: mid = (l + r) // 2 if check(mid): ans = mid l = mid + 1 else: r = mid - 1 print(ans) if __name__ == "__main__": main()