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 翻译