#LQ1304. 砍竹子

砍竹子

问题描述

这天, 小明在砍竹子, 他面前有 nn 棵竹子排成一排, 一开始第 ii 棵竹子的 高度为 hih_{i}.

他觉得一棵一棵砍太慢了, 决定使用魔法来砍竹子。魔法可以对连续的一 段相同高度的竹子使用, 假设这一段竹子的高度为 HH, 那么

用一次魔法可以 把这一段竹子的高度都变为 $\left\lfloor\sqrt{\left\lfloor\frac{H}{2}\right\rfloor+1}\right\rfloor$, 其中 x\lfloor x\rfloor 表示对 xx 向下取整。小明想 知道他最少使用多少次魔法可

让所有的竹子的高度都变为 11

输入格式

第一行为一个正整数 nn, 表示竹子的棵数。

第二行共 nn 个空格分开的正整数 hih_{i}, 表示每棵竹子的高度。

输出格式

一个整数表示答案。

6
2 1 4 2 6 7
5

样例说明

其中一种方案:2 1 4 2 6 7

$\begin{aligned} &\rightarrow 214262 \\ &\rightarrow 214222 \\ &\rightarrow 211222 \\ &\rightarrow 111222 \\ &\rightarrow 111111 \end{aligned}$ 共需要 5 步完成

评测用例规模与约定

对于 20% 的数据, 保证 n1000,hi106n \leq 1000, h_{i} \leq 10^{6}

对于 100% 的数据, 保证 n2×105,hi1018n \leq 2 \times 10^{5}, h_{i} \leq 10^{18}