CFCF2153D.Not Alone

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

一个长度为 mm 的环形数组 bb 被称为“优美”,如果其中每个元素至少有一个相邻元素等于它。形式化地,对于每个 1im1\le i\le m,必须满足以下条件之一:bi=b(i+m2)modm+1b_i = b_{(i+m-2)\bmod m + 1},或 bi=bimodm+1b_i = b_{i\bmod m + 1},其中 xmodyx \bmod y 表示 xx 除以 yy 的余数。

现在给定一个长度为 nn 的环形数组 aa。你可以进行如下操作:每次将 aa 中的任意一个元素加 11 或减 11。你的任务是计算最少需要多少次操作,才能使数组 aa 变成“优美”的环形数组。更正式地说,求在所有优美环形数组 bb 中,最小的 i=1nbiai\sum_{i=1}^n |b_i - a_i|

^{\text{∗}} 在长度为 mm 的环形数组中:

  • 对于每个下标 2im12\le i\le m - 1,第 ii 个元素的相邻元素分别是第 i1i-1 和第 i+1i+1 个元素。
  • 11 个元素的相邻元素分别是第 22 和第 mm 个元素。
  • mm 个元素的相邻元素分别是第 m1m-1 和第 11 个元素。

输入格式

输入包含多组测试用例。第一行为测试用例数 tt1t1041 \le t \le 10^4)。接下来每组测试用例描述如下:

每组测试用例的第一行包含一个整数 nn3n21053 \le n \le 2\cdot 10^5),表示数组 aa 的长度。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n1ai1091 \le a_i \le 10^9),表示环形数组 aa 的元素。

保证所有测试用例中 nn 的总和不超过 21052\cdot 10^5

输出格式

对于每组测试用例,输出一个整数,表示最少的操作次数,使数组 aa 变为优美的环形数组。

输入输出样例

  • 输入#1

    4
    5
    1 1 1 1 1
    4
    2 100 99 3
    5
    2 2 5 9 5
    6
    1 1 1 2 1 2

    输出#1

    0
    2
    4
    1

说明/提示

在第一个测试用例中,aa 的所有元素都相等,因此该环形数组已经是优美的,无需任何操作。

在第二个测试用例中,可以按如下顺序进行操作:

  • a1a_111,此时 a=[3,100,99,3]a = [3, 100, 99, 3]
  • a2a_211,此时 a=[3,99,99,3]a = [3, 99, 99, 3]

进行这些操作后,每个元素都至少有一个相邻元素和它相等:

  • a1a_1a4a_4 相等。
  • a2a_2a3a_3 相等。
  • a3a_3a2a_2 相等。
  • a4a_4a1a_1 相等。

在第三个测试用例中,可以将 a4a_4 连续减 44,此时 a=[2,2,5,5,5]a = [2, 2, 5, 5, 5],该数组为优美数组,因为每个元素都有至少一个相邻元素等于自己。

首页