AT_abc435_f.[ABC435F] Cat exercise

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

有 NN 个猫塔从左到右排列成一排,第 ii 个猫塔(1≤i≤N1\leq i\leq N)的高度为 PiP_i。
这里,(P1,P2,…,PN)(P_1,P_2,\ldots,P_N) 是 (1,2,…,N)(1,2,\ldots,N) 的一个排列。
第 ii 个猫塔和第 jj 个猫塔之间的距离定义为 ∣i−j∣|i-j|。

有一只猫,最初在高度为 NN 的猫塔顶上。
高桥想让这只猫锻炼身体,于是反复选择并移除一些猫塔。

当高桥移除一个猫塔时,猫的动作如下:

  • 如果猫不在被移除的猫塔上,猫不会移动。
  • 如果猫在被移除的猫塔上,并且该塔的左或右相邻猫塔至少有一个仍然存在,则猫会移动到(从被移除塔开始,仅可以通过相邻走到达的)所有当前连通的猫塔中高度最高的那个塔(不包括被移除的塔)。此时,猫会移动的距离等于移动前后的塔的编号之差的绝对值(与塔的高度无关)。
  • 如果猫在被移除的猫塔上,并且该塔没有相邻塔存在,则猫会直接跳进高桥的怀里,锻炼就此结束。在这种情况下猫不会移动。

这里,被移除猫塔后,其间的空隙不会被填补。也就是说,初始时左数第 ii 个猫塔的相邻塔只有第 i−1i-1 个和第 i+1i+1 个(若存在),并且移除其它猫塔后这些相邻关系不会改变,永远不会由于其它猫塔被移除而成为新的相邻关系。

请你求出在锻炼结束前,猫最多能走的总距离是多少。

输入格式

输入从标准输入获得,格式如下:

NN P1P_1 P2P_2 ⋯\cdots PNP_N

输出格式

输出猫在锻炼结束前最多能走的总距离。

输入输出样例

  • 输入#1

    5
    5 3 4 1 2

    输出#1

    5
  • 输入#2

    3
    1 3 2

    输出#2

    1

说明/提示

样例解释 1

初始时猫塔的高度从左到右分别为 5,3,4,1,25,3,4,1,2。
下面称左数第 ii 个猫塔为第 ii 号塔(1≤i≤51\leq i\leq 5)。
起始时,猫在第 11 号塔(高度 55)上。

如果高桥按顺序移除 1,2,3,5,41,2,3,5,4 号塔,则猫的移动如下:

  • 第一次移除塔 11,可以通过相邻连接(不经过 11 号塔)到达的塔有 2,3,4,52,3,4,5,其中最高的是 33 号塔(高度 44),猫移动到塔 33。猫走的距离为 ∣1−3∣=2|1-3|=2。
  • 移除塔 22,猫不在其上,不移动。
  • 移除塔 33,可以通过相邻把猫带到 44 号或 55 号塔(不包括 33 号)。其中,55 号塔高度 22,高于 44 号塔。猫移动到 55 号塔,距离为 ∣3−5∣=2|3-5|=2。
  • 移除塔 55,猫被带到 44 号塔,距离 ∣5−4∣=1|5-4|=1。
  • 移除塔 44,猫已到尽头,跳进高桥怀里,锻炼结束。

最终,猫总共移动了 2+2+1=52+2+1=5,不存在移动距离超过 55 的方案,因此输出 55。

样例解释 2

初始时猫塔的高度从左到右为 1,3,21,3,2。
左数第 ii 个塔记为第 ii 号塔。
猫初始在第 22 号塔(高度 33)。

若高桥移除 2,32,3 号塔,猫的移动如下:

  • 移除塔 22,剩下塔 11 和塔 33。猫会去最高的 33 号塔,上下移动距离为 ∣2−3∣=1|2-3|=1。
  • 移除塔 33,猫直接跳进高桥怀里。

此时,猫移动的总距离为 11,且这是最大值。

注意,移除 22 号塔后,11 号和 33 号塔并不因为 22 号塔被移除而变为相邻。

数据范围

  • 1≤N≤2×1051\leq N\leq 2\times 10^5
  • (P1,P2,…,PN)(P_1,P_2,\ldots, P_N) 是 (1,2,…,N)(1,2,\ldots,N) 的一个排列。
  • 所有输入均为整数。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页