CF2013D.Minimize the Difference

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给你一个长度为 nn 的数 a1,a2,…,ana_1,a_2,…,a_n 我们可以对数组进行任意数量(可能是零)的运算。

在每次操作中,我们选择一个位置 ii ( $1 \le i \le n−1 $
) ,使 ai−1,ai+1+1a_i-1,a_{i+1}+1

求 max(a1,a2,…,an)−min(a1,a2,…,an)max(a_1,a_2,…,a_n)−min(a_1,a_2,…,a_n) 的最小可能值。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 tt ( 1≤t≤1051 \le t \le 10^5 ) 。测试用例说明如下:

每个测试用例的第一行都包含一个整数 nn ( 1≤n≤2×1051 \le n \le 2 \times 10^{5} ) 。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1,a_2,…,a_n ( 1≤ai≤10121 \le a_i \le 10^{12} ) 。

所有测试用例中 nn
的总和不超过 2×1052 \times 10^{5} 。

输出格式

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

输入输出样例

  • 输入#1

    5
    1
    1
    3
    1 2 3
    4
    4 1 2 3
    4
    4 2 3 1
    5
    5 14 4 10 2

    输出#1

    0
    2
    1
    1
    3

说明/提示

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

输入解题思路,AI测评打分。不知道怎么写?

首页