CF2229A Slimes on a Line

题目描述

有 $n$ 个史莱姆排成一行,第 $i$ 个史莱姆位于数轴上的位置 $a_i$。你可以进行若干次(也可以为零次)如下操作: - 选定一个整数 $x$,然后对每个 $j$($1 \le j \le n$)进行如下处理: - 如果 $a_j < x$,则将 $a_j$ 加 $1$。 - 如果 $a_j > x$,则将 $a_j$ 减 $1$。 - 如果 $a_j = x$,则什么也不做。 请你计算,使所有史莱姆最终位于同一位置所需的最小操作次数。

输入格式

输入包含多个测试用例。 第一行包含测试用例个数 $t$($1 \le t \le 100$)。 接下来每个测试用例包括两行: 第一行为一个整数 $n$($2 \le n \le 1000$),表示史莱姆的数量。 第二行为 $n$ 个整数 $a_1,a_2,\ldots,a_n$($1 \le a_i \le 1000$),表示每个史莱姆的初始位置。 保证所有测试用例中 $n$ 的总和不超过 $1000$。

输出格式

对于每组测试用例,输出一个整数,表示使所有史莱姆位于同一位置所需的最少操作次数。

说明/提示

样例 1:我们可以进行 $2$ 次操作,每次都选择 $x = 3$。第一次操作后,位置数组变为 $a = [2, 3, 3, 3, 4]$,第二次操作后变为 $a = [3, 3, 3, 3, 3]$。 样例 2:所有史莱姆已经都在 $3$ 号位置,因此需要操作 $0$ 次。 由 ChatGPT 5 翻译