AT_npcapc_2024_f Train Seats
题目描述
有 $N$ 个人,编号从 $1$ 到 $N$,他们被安排坐在 $M$ 把椅子上,这些椅子从左到右编号为 $1$ 到 $M$。每个人 $i$ 会坐在第 $A_i$ 号椅子上。
当某个人坐下时,记该人左右两侧最近的已有人坐的椅子的编号分别为 $L$ 和 $R$(若不存在则 $L=0$,$R=M+1$),该人的得分为 $R-L$。
$N$ 个人的入座顺序共有 $N!$ 种可能,请你求出所有顺序中 $N$ 个人得分总和的最大值。
输入格式
输入为一行,通过标准输入给出。
> $N\ M\ A_1\ A_2\ \dots\ A_N$
输出格式
输出一个整数,表示答案。
说明/提示
## 部分分
本题设有多组部分分。
- 对于满足 $N \leq 500$ 的数据集,答对可得 $10$ 分。
- 对于满足 $N \leq 3000$ 的数据集,答对可再得 $10$ 分。
## 样例解释 1
例如,若入座顺序为“人 $3$,人 $1$,人 $2$”,则各人得分如下:
- 人 $3$ 入座时,$L=0$,$R=11$,得分为 $11-0=11$。
- 人 $1$ 入座时,$L=0$,$R=10$,得分为 $10-0=10$。
- 人 $2$ 入座时,$L=3$,$R=10$,得分为 $10-3=7$。
因此总得分为 $11+10+7=28$,这是最大值。
## 数据范围
- $1 \leq N \leq 2 \times 10^5$
- $N \leq M \leq 10^9$
- $1 \leq A_i \leq M$
- 若 $i \neq j$,则 $A_i \neq A_j$。
由 ChatGPT 5 翻译