编程题
### 问题描述
今天是星期天,小乐找来了自己的好朋友小鲨和小浩一起去海边玩。不幸的是天气不好,他们不能进行冲浪,于是决定在沙滩上堆堡垒。
一天即将结束,他们一共堆了 $N$ 个堡垒。堡垒从编号 $1, 2, 3, ..., N$,每一个堡垒有自己的高度,第 $i$ 个堡垒高为 $h_i$ 。当大家准备离开时,小乐注意到堡垒的高度都是无序的,于是决定叫朋友们一起帮忙把堡垒排个序再离开,排序按照升序进行,即任意的 $i$ 值满足 $h_i \leq h_{i+1}$。
聪明的小鲨觉得直接排序太简单了,于是决定按照以下规则进行排序:
把堡垒分成 $K$ 组连续的堡垒,因此从 $i$ 到 $j$ 的堡垒分别是 $i, i+1, i+2, ..., j$,把每一组的堡垒进行排序后,可以使所有的堡垒都完成排序。请你帮他们计算一下,这些堡垒最多可以分成多少组。
### 输入格式
输入的第一行包含一个整数 $n$,表示小乐和朋友们一天中用沙子建造的堡垒数量。
接下来的一行包含 $n$ 个整数 $h_i$。其中第 $i$ 个整数对应第 $i$ 个沙堡的高度。
数据范围保证:$1 \leq n \leq10^{5}, 1 \leq h_i \leq 10^{9}$。
### 输出格式
输出仅一行,表示最多的分组数。
### 样例输入1
```text
3
1 2 3
```
### 样例输出1
```text
3
```
### 样例输入2
```text
4
2 1 3 2
```
### 样例输出2
```text
2
```
### 样例说明
对于样例 $1$,我们将 $1$ 分为一组,$2$ 分为一组,$3$ 分为一组,总共可以分成 $3$ 组。
对于样例 $2$,我们将 $2, 1$ 分为一组,$3, 2$ 分为一组,总共可以分 $2$ 组。