最小差值
题号:NC289479
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

\hspace{15pt}给你一个由 n 个整数组成的数组 \{a_1,a_2,\dots,a_n\},以及一个由 m 个整数组成的数组 \{b_1,b_2,\dots,b_m\},现在我们需要寻找一个最小的整数 k,满足 -2 \times 10^9 \leq k \leq 2 \times 10^9,使得下式达到最小

\left \lvert \bigg(\sum\limits_{i=1}^{n}\left \lvert a_i - k \right \rvert\bigg) - \bigg(\sum\limits_{j=1}^{m}\left \lvert b_j - k \right \rvert\bigg) \right \rvert

\hspace{15pt}直接输出满足条件的最小 k 即可。

输入描述:

\hspace{15pt}第一行输入两个整数 n,m\left(1\leq n,m\leq 10^6\right) 代表数组 a 中的元素个数、数组 b 中的元素个数。 
\hspace{15pt}第二行输入 n 个整数 a_1,a_2,\dots,a_n\left(-10^9\leq a_i\leq 10^9\right)
\hspace{15pt}第三行输入 m 个整数 b_1,b_2,\dots,b_m\left(-10^9\leq b_j\leq 10^9\right)

输出描述:

\hspace{15pt}直接输出满足条件的最小 k 即可。
示例1

输入

复制
5 5
1 2 3 4 5
1 2 3 4 5

输出

复制
-2000000000

说明

\hspace{15pt}在这个样例中,我们会发现,k 的取值不影响最后的答案,所以选择最小的 k=-2\times 10^9 即可。
示例2

输入

复制
5 3
1 5 9 3 6
2 5 10

输出

复制
3

说明

\hspace{15pt}在这个样例中,k=3 时,有:

\begin{aligned}<br />\bigg(\sum\limits_{i=1}^{5}\left \lvert a_i - 3 \right \rvert\bigg) &= \left \lvert 1 - 3 \right \rvert + \left \lvert 5 - 3 \right \rvert + \left \lvert 9 - 3 \right \rvert + \left \lvert 3 - 3 \right \rvert + \left \lvert 6 - 3 \right \rvert \\<br />&= 2 + 2 + 6 + 0 + 3 \\<br />&= 13<br />\end{aligned}<br />\\<br />\begin{aligned}<br />\bigg(\sum\limits_{j=1}^{3}\left \lvert b_j - 3 \right \rvert\bigg) &= \left \lvert 2 - 3 \right \rvert + \left \lvert 5 - 3 \right \rvert + \left \lvert 10 - 3 \right \rvert \\<br />&= 1 + 2 + 7 \\<br />&= 10<br />\end{aligned}

\hspace{15pt}综上,式子的答案为 \left \lvert 13 - 10 \right \rvert = 3,我们可以证明,无法再找到一个 -2\times 10^9\leq k\leq 3,使得式子的值 \le 3