CF1615A Closing The Gap

题目描述

有 $n$ 个积木塔排成一排,第 $i$ 个塔的高度为 $a_i$。你是建筑队的一员,想让这些建筑看起来尽可能美观。你每天可以进行如下操作: - 选择两个下标 $i$ 和 $j$($1 \leq i, j \leq n$,$i \neq j$),将一个积木从第 $i$ 个塔移动到第 $j$ 个塔。也就是说,将 $a_i$ 减 $1$,将 $a_j$ 加 $1$。 你认为这些建筑的“丑陋度”是最高和最低建筑高度的差值。形式化地,丑陋度定义为 $\max(a) - \min(a)$。 经过任意天数的操作后,你能达到的最小丑陋度是多少?

输入格式

第一行包含一个整数 $t$($1 \leq t \leq 1000$),表示测试用例的数量。接下来有 $t$ 组测试数据。 每组测试数据的第一行包含一个整数 $n$($2 \leq n \leq 100$),表示建筑的数量。 第二行包含 $n$ 个用空格分隔的整数 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq 10^7$),表示每个建筑的高度。

输出格式

对于每个测试用例,输出一个整数,表示这些建筑能达到的最小丑陋度。

说明/提示

在第一个测试用例中,丑陋度已经是 $0$。 在第二个测试用例中,你可以进行一次操作,选择 $i=1$ 和 $j=3$。新的高度变为 $[2, 2, 2, 2]$,丑陋度为 $0$。 在第三个测试用例中,你可以进行三次操作: 1. 选择 $i=3$,$j=1$,新数组变为 $[2, 2, 2, 1, 5]$; 2. 选择 $i=5$,$j=4$,新数组变为 $[2, 2, 2, 2, 4]$; 3. 选择 $i=5$,$j=3$,新数组变为 $[2, 2, 3, 2, 3]$。 最终丑陋度为 $1$。可以证明这是该测试用例的最小丑陋度。 由 ChatGPT 4.1 翻译