#4315. USACO 2012 US Open, Bronze Division Islands

USACO 2012 US Open, Bronze Division Islands

题目描述

每当下雨时,农夫约翰的田地总会被淹没。然而,由于田地并非完全平整,水以不均匀的方式填满田地,留下许多被水域隔开的“岛屿”。

农夫约翰的田地被描述为一个一维的地形,由NN(1 <= NN <= 100,000)个连续的高度值H(1)H(1)...H(n)H(n)指定。假设该地形被高度实际上无限高的围栏包围,考虑在暴雨期间会发生什么:最低的区域首先被水覆盖,形成一些不相连的“岛屿”,随着水位继续上升,这些岛屿最终都会被淹没。当水位等于某块土地的高度时,那块土地就被认为是在水下。

上图展示了一个例子:左边,我们加入了略多于1单位的水,留下4个岛屿(这是我们将看到的最大数量)。后来,在总共加入7单位的水后,我们得到右边的图,只露出两个岛屿。请计算在暴雨期间,当水一直上升到整个田地都被淹没时,在某个时间点我们将看到的最大岛屿数量。

输入格式

  • 第1行:整数NN
  • 第2..1+NN行:第i+1i+1行包含高度H(i)H(i)(1 <= H(i)H(i) <= 1,000,000,000)。

输出格式

  • 第1行:一个整数,表示在暴雨过程中任何一个时间点出现的最大岛屿数量。

样例

样例输入

8
3
5
2
3
1
4
2
3

样例输出

4

数据范围

1 <= NN <= 100,000,H(i)H(i)的范围为1 <= H(i)H(i) <= 1,000,000,000