#2612. 「NOIP2013」花匠

内存限制:128 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Planet6174

题目描述

花匠栋栋种了一排花,每株花都有自己的高度。花儿越长越大,也越来越挤。栋栋决定把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,栋栋希望剩下的花排列得比较别致。

具体而言,栋栋的花的高度可以看成一列整数 h_1, h_2, \dots, h_n 。设当一部分花被移走后,剩下的花的高度依次为 g_1, g_2, \dots, g_m ,则栋栋希望下面两个条件中至少有一个满足:

  • 对于所有的整数 i g_{2i} > g_{2i-1} ,且 g_{2i} > g_{2i+1}

  • 对于所有的整数 i g_{2i} < g_{2i-1} ,且 g_{2i} < g_{2i+1}

注意上面两个条件在 m = 1 时同时满足,当 m > 1 时最多有一个能满足。

请问,栋栋最多能将多少株花留在原地。

输入格式

输入的第一行包含一个整数 n ,表示开始时花的株数。

第二行包含 n 个整数,依次为 h_1, h_2, \dots, h_n ,表示每株花的高度。

输出格式

输出一行,包含一个整数 m ,表示最多能留在原地的花的株数。

样例

样例输入

5
5 3 2 1 2

样例输出

3

样例说明

有多种方法可以正好保留 3 株花,例如,留下第 1 4 5 株,高度分别为 5 1 2 ,满足条件 B

数据范围与提示

对于 15\% 的数据, n \leq 10

对于 25\% 的数据, n \leq 25

对于 55\% 的数据, n \leq 1,000 h_i \leq 1,000

对于 80\% 的数据, n \leq 100,000 h_i \leq 10^6 ,所有的 h_i 随机生成,所有随机数服从任意区间内的均匀分布;

对于 100\% 的数据, 1 \leq n \leq 2,000,000 0 \leq h_i \leq 10^9