题目描述
给定一个长度为 n 的序列 a1,a2,⋯,an。
定义 a 为“好”的,当且仅当存在 b1,b2,⋯,bm 使得:
- bi 为 1∼n 的整数;
- ai=bj≤imin{i−bj}。
注意:为了使得条件 2 中的式子有意义,至少需要存在一个 bx=1。
你可以进行若干次操作,每次操作选择 x,y,将 ax←y,付出 1 的代价。
你至少要付出多少代价,才能使 a 变为“好”的?
输入格式
第一行一个整数 n。
第二行 n 个整数 a1,a2,⋯,an。
输出格式
一行一个整数,表示至少需要付出的代价。
样例
2
0 2
1
5
0 1 3 1 1
2
样例解释
- #1:修改为 0,1。
- #2:修改为 0,1,2,0,1。
数据范围
对于 100% 的数据,1≤n≤107,0≤ai<n。
- Subtask #1(1 pt):n=1。
- Subtask #2(19 pts):n≤300。
- Subtask #3(29 pts):n≤4×103。
- Subtask #4(20 pts):n≤2×105。
- Subtask #5(31 pts):无特殊限制。