#P4617. Bear and Blocks

    ID: 2184 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>基础算法递推数据结构线段树CodeForces

Bear and Blocks

题目描述

zpy 又发明了一个小游戏,炸方块。

nn 列方块,每列方块分别有 hih_i 个方块构成,也就是高度为 hih_i。zpy 定义边缘方块是这样的:如果一个方块上下左右都有接触到其他方块或地面,就算内部方块,否则就是边缘方块。这个游戏每次可以将当前的边缘方块全部炸掉,这些炸掉的方块就会消失,余下剩余的方块,这个时候,剩余方块里不少方块变成边缘方块,又可以被炸掉了。

zpy 现在想知道的是,给定初始方块情况,最少炸多少次方块会全部消失?

输入格式

第一行输入 nn1n1051\le n\le 10^5

第二行输入 nn 个整数 hih_i1hi1091\le h_i\le 10^9

输出格式

输出操作次数。

6
2 1 4 6 2 2
3

7
3 3 3 1 3 3 3
2