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 时能够达到最大价值。