CF1615A.Closing The Gap

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Closing The Gap

题目描述

有 nn 个积木塔排成一排,第 ii 个塔的高度为 aia_i。你是建筑队的一员,想让这些建筑看起来尽可能美观。你每天可以进行如下操作:

  • 选择两个下标 ii 和 jj(1≤i,j≤n1 \leq i, j \leq n,i≠ji \neq j),将一个积木从第 ii 个塔移动到第 jj 个塔。也就是说,将 aia_i 减 11,将 aja_j 加 11。

你认为这些建筑的“丑陋度”是最高和最低建筑高度的差值。形式化地,丑陋度定义为 max⁡(a)−min⁡(a)\max(a) - \min(a)。

经过任意天数的操作后,你能达到的最小丑陋度是多少?

输入格式

第一行包含一个整数 tt(1≤t≤10001 \leq t \leq 1000),表示测试用例的数量。接下来有 tt 组测试数据。

每组测试数据的第一行包含一个整数 nn(2≤n≤1002 \leq n \leq 100),表示建筑的数量。

第二行包含 nn 个用空格分隔的整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤1071 \leq a_i \leq 10^7),表示每个建筑的高度。

输出格式

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

说明/提示

在第一个测试用例中,丑陋度已经是 00。

在第二个测试用例中,你可以进行一次操作,选择 i=1i=1 和 j=3j=3。新的高度变为 [2,2,2,2][2, 2, 2, 2],丑陋度为 00。

在第三个测试用例中,你可以进行三次操作:

  1. 选择 i=3i=3,j=1j=1,新数组变为 [2,2,2,1,5][2, 2, 2, 1, 5];
  2. 选择 i=5i=5,j=4j=4,新数组变为 [2,2,2,2,4][2, 2, 2, 2, 4];
  3. 选择 i=5i=5,j=3j=3,新数组变为 [2,2,3,2,3][2, 2, 3, 2, 3]。

最终丑陋度为 11。可以证明这是该测试用例的最小丑陋度。

由 ChatGPT 4.1 翻译

样例

3
3
10 10 10
4
3 2 1 2
5
1 2 3 1 5
0
0
1

在线编程 IDE

建议全屏模式获得最佳体验