31. 字符串的最大价值(第二期模拟笔试)

内存限制:128 MB 时间限制:1.000 S

题目描述

给定一个字符串 S(S.lenth < 5000),只包含 0 和 1 两个数字,下标从 1 开始,设第 i 位的价值为 vali,则vali的定义如下:

当 i = 1 时:val1 = 1;

当 i > 1 时:

    若Si != S(i - 1):vali = 1,

    若Si == S(i - 1):vali = val(i - 1) + 1;

字符串 S 的总价值等于 val1 + val2 + ... + valn(n为字符串 S 的长度)。

你可以任意删除字符串 S 中的任意字符,使得字符串 S 的总价值能够达到最大。

输入

输入只有一行,为字符串 S

输出

输出一个整数代表答案

样例输入 复制

010101

样例输出 复制

7

提示

删除一些字符后,S变为 0001 或 0111 时能够达到最大价值。