#714. 变为 awesome
变为 awesome
题目描述
数组 的长度为 ,若对所有 都满足:
- 当 为奇数时,;
- 当 为偶数时,,
则称数组 为 awesome。即满足 的交替关系。
给定长度为 的正整数数组 。你可以任意次、按任意顺序执行下列两种操作:
- 操作 1:选择一个整数 并令 ,即将 替换为其前缀最大值;
- 操作 2:选择一个整数 并将 减 (即 )。
问:在允许任意次执行操作 1 的前提下,使数组 变为 awesome,需要 最少 执行操作 2 的次数是多少?(注意不需要最小化操作 1 的次数,仅最小化操作 2 的总次数。)
输入格式
-
第 行:一个整数 ,表示测试用例个数。
-
接下来对每个测试用例,使用 两行 表示:
- 第 行:一个整数 (数组长度)。
- 第 行: 个整数 (用空格分隔)。
输出格式
对每个测试用例输出一行,包含一个整数 —— 使数组 变为 awesome 时所需的最少 操作 2 次数。
样例输入
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
样例输出
0
1
3
6
1
0
13
说明
样例解释
- 第一个样例:数组已满足交替关系,无需操作 ,答案为 。
- 第二个样例:对 ,只需一次操作 (例如把 变为 ),再配合若干次操作 可得到 ,此时满足 ,因此最少操作 次数为 。
数据范围
- ;
- 对每个测试用例,;
- ;
- 所有测试用例中 。