开始: 2026-09-21 00:00:00

26.9复赛模拟赛01

结束: 2026-09-22 10:00:00
当前  2026-11-04 13:29:45  类型: IOI  状态: 已经结束 

P6. 猫咪运动(Cat exercise)
描述

有 (N) 个猫爬架左右排成一列,从左数第 (i)((1 \le i \le N))个爬架的高度为 (P_i)。这里 ((P_1,P_2,\ldots,P_N)) 是 ((1,2,\ldots,N)) 的一个排列。另外,第 (i) 个与第 (j) 个爬架之间的距离定义为 (|i-j|)。

有一只猫,最初在高度为 (N) 的爬架顶端。小Z想通过不断选择并撤除爬架来让猫运动。

小Z撤除爬架时,猫按以下方式移动:

  • 若猫不在被撤除的爬架上,猫不移动。

  • 若猫在被撤除的爬架上,且该爬架左右相邻的爬架至少存在一个时,猫移动到从被撤除的爬架出发、仅通过向相邻爬架移动能到达的爬架中(不含被撤除的爬架)最高的那个爬架上。此时,猫移动了移动前后爬架之间的距离(移动前后及途中爬架的高度无关)。

  • 若猫在被撤除的爬架上,且该爬架左右相邻的爬架都不存在时,猫跳进小Z的怀里,运动就此结束。此时不产生移动。

注意:撤除爬架留下的空位不会被填补。也就是说,最初与第 (i) 个爬架相邻的只有(若存在)第 (i-1) 个与第 (i+1) 个爬架,之后也不会因为其他爬架被撤除而产生新的相邻关系。

求运动结束前猫移动距离总和的最大可能值。


输入

输入按以下格式给出:

N
P_1 P_2 ... P_N


输出

输出运动结束前猫移动距离总和的最大可能值。


样例

输入

5
5 3 4 1 2

输出

5

输入

3
1 3 2

输出

1
提示

样例1解释

最初爬架高度从左到右为 5,3,4,1,2。下面把左数第 (i) 个爬架称为爬架 (i)。最初猫在爬架 1(高度 5)上。

小Z按 1,2,3,5,4 的顺序撤除爬架时,猫这样移动:

  • 撤除爬架 1。从爬架 1 出发仅通过向相邻爬架移动能到达的爬架是(不含爬架 1)爬架 2,3,4,5。猫移动到其中最高的爬架 3(高度 4)。

  • 撤除爬架 2。猫不移动。

  • 撤除爬架 3。从爬架 3 出发能到达的爬架是爬架 4,5。猫移动到其中最高的爬架 5(高度 2)。

  • 撤除爬架 5。能到达的只有爬架 4。猫移动到爬架 4(高度 1)。

  • 撤除爬架 4。猫跳进小Z的怀里,运动结束。

此时移动距离总和为 (|1-3|+|3-5|+|5-4|=5)。不存在使移动距离总和达到 6 或以上的撤除方式,因此输出 5。

数据范围:

  • (1 \le N \le 2 \times 10^5)

  • ((P_1,P_2,\ldots,P_N)) 是 ((1,2,\ldots,N)) 的排列

  • 输入均为整数


提交

题目参数
时间限制 1 秒
内存限制 128 MB
提交