编程题
### 问题描述 新一是一名著名的侦探,他的朋友基德是一名魔术师。一天,基德送给新一一个神秘的宝箱,这个宝箱里面有 $N$ 个不同的宝石,每个宝石都有一个独一无二的价值。基德告诉新一,想要打开这个宝箱,就必须将这些宝石分成两组,使得每组宝石的中值尽可能接近。 新一是一个喜欢挑战的侦探,他决定接受这个挑战。现在,他需要你的帮助。你能帮他找出这个最小的中值差吗? 需要注意的是,这个数组 $A$ 的长度 $N$ 是奇数,中值定义为排序后位于 $\left\lfloor \frac{N+1}{2} \right\rfloor$ 位置的元素。 ### 输入格式 第一行包含一个整数 $N$,表示宝石的数量。 第二行包含 $N$ 个由空格分隔的整数 $A_1, A_2, ..., A_N$,表示每个宝石的价值。 数据范围保证:$3 \leq N \leq 50$$,$$1 \leq A_i \leq 10^9$,$N$ 是奇数。 ### 输出格式 输出一行包含一个数字,表示两组宝石中值的最小差值。 ### 样例输入 ```text 5 2 7 4 8 2 2 2 4 7 8 ``` ### 样例输出 ```text 2 ``` ### 说明 样例中我们可以将宝石分成如下两组:$P=[2,8],Q=[7,4,2]$,中值的差值绝对值为 $|2-4|=2$。可以证明这是最小的中值差值。
查看答案
赣ICP备20007335号-2