ACM中的CM题
题号:NC276120
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

在在你前面有 n 个地雷
刚刚学会瞬移的你决定排走所有地雷
遗憾的是,你的初始排雷能力 m = 0,但你知道
当排雷能力为 m 时,你可以任何时刻在当前位置 l 处将[l, l+m] 中的雷全部排走
也可以在任何时刻任何地点,将排雷能力从 m 变为 m+1
以上两种操作都需要花费 1 的时间,但瞬移不花费时间!
求排所有雷所需最小时间!

输入描述:

第一行输入整数 n 
第二行输入 n 个整数 a_i,表示 n 个雷的位置

1\le n\le 2× 10^5;~1\le a_i\le 2× 10^5

输出描述:

一个整数,表示排所有雷所需最短时间 
示例1

输入

复制
3
1 1 2

输出

复制
2

说明

瞬移到1处排 [1, 1]的2个雷
瞬移到2处排 [2, 2]的1个雷
示例2

输入

复制
4
1 2 4 5

输出

复制
3