编程题
花匠 ### 题目描述 花匠栋栋种了一排花,每株花都有自己的高度。花儿越长越大,也越来越挤。栋栋决定把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,栋栋希望剩下的花排列得比较别致。 具体而言,栋栋的花的高度可以看成一列整数 $ℎ_1, ℎ_2, ... ,ℎ_𝑛$。设当一部分花被移走后, 剩下的花的高度依次为 $𝑔_1, 𝑔_2, ... , 𝑔_𝑚$,则栋栋希望下面两个条件中至少有一个满足: 条件 A:对于所有的 $𝑖,𝑔_{2𝑖} > 𝑔_{2𝑖−1}$,且 $𝑔_{2𝑖} > 𝑔_{2𝑖+1}$; 条件 B:对于所有的 $𝑖,𝑔_{2𝑖} < 𝑔_{2𝑖−1}$,且 $𝑔_{2𝑖} < 𝑔_{2𝑖+1}$。 注意上面两个条件在 $𝑚 = 1$ 时同时满足,当 $𝑚 > 1$时最多有一个能满足。 请问,栋栋最多能将多少株花留在原地。 ### 输入描述 输入的第一行包含一个整数 $𝑛$,表示开始时花的株数。 第二行包含 $𝑛$ 个整数,依次为 $ℎ_1, ℎ_2,... , ℎ_𝑛$,表示每株花的高度。 保证 $1 \leq 𝑛 \leq 10^5,0 \leq ℎ𝑖 \leq 10^6$,所有的 $ℎ_𝑖$ 随机生成,所有随机数服从某区间内的均匀分布。 ### 输出描述 输出一行,包含一个整数 $𝑚$,表示最多能留在原地的花的株数。 ### 输入输出样例 #### 示例 > 输入 ```txt 5 5 3 2 1 2 ``` > 输出 ```txt 3 ```
查看答案
赣ICP备20007335号-2