编程题
### 问题描述 小齐和艾尔希正在帮助农夫约翰洗碗,由于它们没有可逆拇指,这个过程比人们想象的更加复杂。它们决定由小齐涂抹肥皂,而艾尔希负责冲洗。小齐拿到了一叠脏盘子,标有 $1$ 到 $N$ 的标签。艾尔希有一个空的盘子堆,用于放置干净的盘子。它们之间有一个柜台用于放置涂有肥皂的盘子。 在每一步中,小齐可以选择以下操作之一: 从脏盘子堆的顶部拿一个盘子,涂上肥皂,然后将其放在柜台上。放置肥皂盘子时,小齐必须选择将盘子($i$)放在现有非空肥皂盘子的顶部,或者($ii$)在所有现有肥皂盘子的右侧创建一个新的肥皂盘子。 艾尔希可以选择以下操作之一: 从最左侧的肥皂盘子中拿一个盘子。艾尔希冲洗盘子,然后将其放在干净的盘子堆的顶部。 目标是使干净的盘子堆按顺序放置所有盘子,底部的标签最小,顶部的标签最大。也许无法使牛们为整个盘子堆实现这个目标,因此请确定可以成功清洗的输入排序的最长前缀长度。 ### 输入格式 第一行输入 $N$。接下来 $N$ 行指定小齐盘子堆中的盘子顺序,其中第一个数字是盘子堆顶上的盘子。 ### 输出格式 请输出可以成功清洗的输入排序的最长前缀长度。 ### 样例输入 ``` 5 4 5 2 3 1 ``` ### 样例输出 ``` 4 ``` ### 评测数据规模 $1 \leq N \leq 10^5$。
查看答案
赣ICP备20007335号-2