CF2013D.Minimize the Difference
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给你一个长度为 n 的数 a1,a2,…,an 我们可以对数组进行任意数量(可能是零)的运算。
在每次操作中,我们选择一个位置 i ( $1 \le i \le n−1 $
) ,使 ai−1,ai+1+1
求 max(a1,a2,…,an)−min(a1,a2,…,an) 的最小可能值。
输入格式
每个测试包含多个测试用例。第一行包含测试用例的数量 t ( 1≤t≤105 ) 。测试用例说明如下:
每个测试用例的第一行都包含一个整数 n ( 1≤n≤2×105 ) 。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an ( 1≤ai≤1012 ) 。
所有测试用例中 n
的总和不超过 2×105 。
输出格式
对于每个测试用例,输出一个整数 ans 表示 max(a1,a2,…,an)−min(a1,a2,…,an)
的最小可能值。
输入输出样例
输入#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=1
执行两次操作。
之后,数组为 [2,3,2,3]
所以 ans=max(2,3,2,3)−min(2,3,2,3)=3−2=1
。
输入解题思路,AI测评打分。不知道怎么写?