CF2013D Minimize the Difference

题目描述

给你一个长度为 $n$ 的数 $a_1,a_2,…,a_n$ 我们可以对数组进行任意数量(可能是零)的运算。 在每次操作中,我们选择一个位置 $i$ ( $1 \le i \le n−1 $ ) ,使 $a_i-1,a_{i+1}+1$ 求 $max(a_1,a_2,…,a_n)−min(a_1,a_2,…,a_n)$ 的最小可能值。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 $t$ ( $1 \le t \le 10^5$ ) 。测试用例说明如下: 每个测试用例的第一行都包含一个整数 $n$ ( $1 \le n \le 2 \times 10^{5}$ ) 。 每个测试用例的第二行包含 $n$ 个整数 $a_1,a_2,…,a_n$ ( $1 \le a_i \le 10^{12}$ ) 。 所有测试用例中 $n$ 的总和不超过 $2 \times 10^{5}$ 。

输出格式

对于每个测试用例,输出一个整数 $ans$ 表示 $max(a_1,a_2,…,a_n)−min(a_1,a_2,…,a_n)$ 的最小可能值。

说明/提示

在第三个测试案例中,您可以使用 $i=1$ 执行两次操作。 之后,数组为 $[2,3,2,3]$ 所以 $ans=max(2,3,2,3)−min(2,3,2,3)=3−2=1$ 。