CFCF2154B.Make it Zigzag

普及-

通过率:0%

AC君温馨提醒

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

题目描述

长度为 mm 的任意整数数组 bb 如果对于所有 ii1i<m1 \le i < m)满足以下条件,则被认为是“awesome”(极棒)的:

  • 如果 ii 是奇数,则 bi<bi+1b_i < b_{i+1}
  • 如果 ii 是偶数,则 bi>bi+1b_i > b_{i+1}

换句话说,数组需满足如下不等式:b1<b2>b3<b4b_1 < b_2 > b_3 < b_4 \ldots

给定一个长度为 nn 的正整数数组 aa。你可以按照任意顺序、任意多次执行以下两种操作:

  • 操作 11:选择一个整数 ii1in1 \le i \le n),令 ai:=max(a1,,ai)a_i := \max(a_1, \ldots, a_i),即将 aia_i 替换为前缀最大值。
  • 操作 22:选择一个整数 ii1in1 \le i \le n),然后将 aia_i 减少 11

请你求出使 aa 成为“awesome”数组所需执行操作 22 的最少次数。注意:你不需要最小化执行操作 11 的次数。

输入格式

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

第一行输入一个整数 nn2n2×1052 \le n \le 2 \times 10^5),表示数组 aa 的长度。

第二行输入 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n1ai1091 \le a_i \le 10^9)。

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

输出格式

对于每组测试用例,输出使 aa 成为“awesome”数组所需执行操作 22 的最小次数。

输入输出样例

  • 输入#1

    7
    5
    1 4 2 5 3
    4
    3 3 2 1
    5
    6 6 6 6 6
    7
    1 2 3 4 5 6 7
    3
    3 2 1
    2
    1 2
    9
    65 85 19 53 21 79 92 29 96

    输出#1

    0
    1
    3
    6
    1
    0
    13

说明/提示

在第一个测试用例中,数组已经是“awesome”的,无需任何操作。

在第二个测试用例中,可以按如下方式操作,使 aa 成为“awesome”:

  • 执行一次操作 22,将 a1a_1 减少 11[3,3,2,1][2,3,2,1][\color{red}3, 3, 2, 1] \rightarrow [\color{red}2, 3, 2, 1]
  • 执行一次操作 11,将 a4a_4 改为 max(2,3,2,1)=3\max(2, 3, 2, 1) = 3[2,3,2,1][2,3,2,3][2, 3, 2, \color{red}1] \rightarrow [2, 3, 2, \color{red}3]

[2,3,2,3][2, 3, 2, 3] 是“awesome”数组,因为 2<3>2<32 < 3 > 2 < 3。可以证明,这是使得 aa 成为“awesome”数组所需的最少操作 22 次数。

首页