AT_abc468_f [ABC468F] Chmax
题目描述
给定一个正整数 $N$ 和一个排列 $P=(P_1,P_2,\ldots,P_N)$,它是 $1$ 到 $N$ 的一个排列。
有三个变量 $x, y, c$,初始时 $x = y = c = 0$。
对于 $k = 1, 2, \ldots, N$,按顺序进行如下两种操作之一:
- 操作 $1$:如果 $x < P_k$,则将 $c$ 加 $1$。之后,用 $\max(x, P_k)$ 更新 $x$。
- 操作 $2$:如果 $y < P_k$,则将 $c$ 加 $1$。之后,用 $\max(y, P_k)$ 更新 $y$。
请你求出 $c$ 最终可能达到的最大值。
输入格式
输入从标准输入读取,格式如下:
> $N$ $P_1$ $P_2$ $\ldots$ $P_N$
输出格式
输出答案。
说明/提示
### 样例解释 1
按如下方法操作,可以得到 $c=4$:
- $k=1$ 时,选择操作 $1$,此时 $(x,y,c)=(4,0,1)$。
- $k=2$ 时,选择操作 $1$,此时 $(x,y,c)=(4,0,1)$。
- $k=3$ 时,选择操作 $2$,此时 $(x,y,c)=(4,1,2)$。
- $k=4$ 时,选择操作 $2$,此时 $(x,y,c)=(4,2,3)$。
- $k=5$ 时,选择操作 $2$,此时 $(x,y,c)=(4,5,4)$。
无论如何操作,$c$ 都无法超过 $4$,因此输出 $4$。
### 约束条件
- $1 \le N \le 5 \times 10^5$
- $P$ 是 $1$ 到 $N$ 的一个排列。
- 所有输入值均为整数。
由 ChatGPT 5 翻译