CF2232A Convergence

题目描述

Alice 想邀请她的朋友们参加派对吃蛋糕。然而,每个朋友可能不在同一个地方,因此大家需要先在同一个位置集合。 Alice 有 $n$ 个朋友,第 $i$ 个朋友的位置为 $a_i$。为了让所有人聚集到同一个地方,Alice 需要进行多次三人通话。不幸的是,信号较弱,Alice 每次只能同时呼叫另外 2 个人。 作为一个好人,Alice 不想让她的朋友们走太远。因此,对于包含第 $i$ 个朋友和第 $j$ 个朋友的每次三人通话,Alice 会让他们两人前往 $[\min(a_i, a_j), \max(a_i, a_j)]$(包含端点)的某个整数位置。此后,这两个人会快速移动到该位置,在他们移动的过程中,Alice 不能进行新的三人通话。当他们到达这个位置后,可以再次参与通话。 派对马上要开始了,Alice 需要尽快完成所有三人通话。请你帮助她求出让所有朋友集合在同一个位置所需的三人通话的最小次数。

输入格式

每个测试点包含多组测试用例。第一行包含测试用例数 $t$($1 \le t \le 500$)。接下来的每组用例每行格式如下: 每个测试用例的第一行包含一个整数 $n$($2 \leq n \leq 100$)— Alice 的朋友人数。 第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq 10^9$)— 表示朋友们的位置。

输出格式

对于每组测试用例,输出让所有朋友集合到同一位置所需的最小三人通话次数。

说明/提示

在第一个测试用例中,最少需要 2 次三人通话。使所有人聚集到同一位置的一种方案如下: - 通话第 $1$ 个和第 $4$ 个朋友,让他们都移动到位置 $3$。此时他们的位置变为 $[3, 2, 3, 3, 5]$。 - 通话第 $2$ 个和第 $5$ 个朋友,让他们都移动到位置 $3$。此时所有人的位置变为 $[3, 3, 3, 3, 3]$。 在第二个测试用例中,最少需要 2 次三人通话。使所有人聚集到同一位置的一种方案如下: - 通话第 $1$ 个和第 $4$ 个朋友,让他们都移动到位置 $1$。此时他们的位置变为 $[1, 1, 1, 1, 2]$。 - 通话第 $4$ 个和第 $5$ 个朋友,让他们都移动到位置 $1$。此时所有人的位置变为 $[1, 1, 1, 1, 1]$。 由 ChatGPT 5 翻译