微笑等级(ニコニコレベル)


Submit solution

Points: 100
Time limit: 1.0s
Memory limit: 80M

Author:
Problem type
Allowed languages
C, C++

B - 微笑等级(ニコニコレベル)

题意

微笑字符串(ニコニコ文字列) 指的是由子串 25 重复若干次(可以是 0 次)拼接而成的字符串。 例如:25252525、以及 空串 都是微笑字符串;而 123225 不是。

给定一个字符串 S,它的 微笑等级 定义为:S 的所有连续子串中,长度最长且是"微笑字符串"的那个子串的长度。 例如:525252502512151 的微笑等级分别为 420

现在,给你一个只包含数字 0~9? 的字符串 T。你可以把每个 ? 替换成任意一个数字,从而得到一个仅由数字组成的字符串 T'。请你求出:在所有可能的 T' 中,微笑等级的最大值

约束

  • \(1 \le |T| \le 10^5\)
  • T 的每个字符要么是数字 0~9,要么是 ?

输入

从标准输入读取:

T

输出

输出一个整数:你能构造出的字符串 T'最大微笑等级

样例

样例 1

输入

12??567890

输出

4

说明:把前两个 ? 依次替换为 52,得到 1252567890。其中从第 2 位到第 5 位是 2525,长度为 4,所以可以得到微笑等级为 4 的字符串。


样例 2

输入

65?5?4?

输出

2

样例 3

输入

314159265358979

输出

0

说明:完全不存在子串 25 的情况下,微笑等级为 0。


样例 4

输入

2???5????

输出

8

样例 5

输入

52

输出

0

Comments

There are no comments at the moment.