#P1010. 67的心下起了大雨

    ID: 11 Type: Default 1000ms 256MiB Tried: 6 Accepted: 5 Difficulty: 4 Uploaded By: Tags>模拟数据结构前后缀最大值

67的心下起了大雨

背景

67突然感觉很难受,他的心表面本来就坑坑洼洼,而这时他的心下起了大雨......

描述

那么!作为窥探67内心的你!需要统计67的内心一共有多少个积水区域!

给定一个长度为 nn 的高度序列 h0,h1,,hn1h_0, h_1, \dots, h_{n-1}代表67内心的表面凹陷,首尾均为 00

定义"凹陷"为:在考虑了雨水会从两侧涌入的情况下,所有水深大于 00 的连续位置构成的连通区域。

一个位置的积水量为 min(左侧最高,右侧最高)当前高度\min(\text{左侧最高}, \text{右侧最高}) - \text{当前高度}

注意,如果一个大凹陷中间有凸起,但凸起的高度低于两侧最高点,那么水面会漫过凸起,整个区域算作同一个凹陷。

求一共有多少个这样的凹陷。

输入格式

第一行一个整数 nn (3n1053 \le n \le 10^5)。

第二行 nn 个整数 h0,h1,,hn1h_0, h_1, \dots, h_{n-1} (0hi10000 \le h_i \le 1000),保证 h0=hn1=0h_0 = h_{n-1} = 0

输出格式

一个整数,表示凹陷的数量。

样例

10
0 1 0 2 1 2 0 0 2 0
3

样例解释:位置 2 水深为 1,是一个凹陷;位置 4 水深为 1,是第二个凹陷;位置 6 和 7 水深均为 2 且连续,构成第三个凹陷。总共 3 个凹陷。

7
0 2 0 5 0 2 0
2
5
0 0 0 0 0
0

限制

3n1053 \le n \le 10^50hi10000 \le h_i \le 1000h0=hn1=0h_0 = h_{n-1} = 0