#P15572. [jag2024国内赛]スライムの合成史莱姆合成

    ID: 14784 传统题 2000ms 512MiB 尝试: 1 已通过: 1 难度: 7 上传者: 标签>动态规划算法基础倍增模拟数学CF2300

[jag2024国内赛]スライムの合成史莱姆合成

题目描述

JAG 王国中有 (n) 只史莱姆排成一列。初始时,从左到右第 (i) 只史莱姆的等级为 (L_i)。

你可以对相邻且等级相同的两只史莱姆施放合成魔法,将它们合成为一只等级 (X+1) 的史莱姆。合成后的史莱姆出现在原两只史莱姆位置的中间。史莱姆不能自行移动,也不能被移动。

若当前不存在相邻同等级史莱姆,则无法施放魔法。

请问以最优顺序施放魔法时,最多可以施放多少次,也就是最多能减少多少只史莱姆。

输入中的等级只有 (0) 到 (9),但合成后可能出现 (10) 及以上等级。

输入格式

输入包含多个数据集,数据集个数不超过 (40)。

每个数据集格式如下:

n
L

(1\le n\le 2\times 10^5)。(L) 为长度 (n) 的数字串,第 (i) 位表示 (L_i)。

输入以单独一行 0 结束。

输出格式

对每个数据集,输出最多施放魔法次数。

样例输入

4
1111
5
31132
10
3331124331
0

样例输出

3
1
8