#E0036. 最长平衡子串

最长平衡子串

题目描述

对于一个字符串,我们称从字符串中选出连续的一段字符组成的字符串为它的子串。

现在给你一个仅由字符 '0' 和 '1' 构成的字符串 ss,你需要找到它的最长的一段子串,且满足如下条件:

该子串中字符 '0' 出现的次数等于字符 '1' 出现的次数。

我们称字符串 ss 中满足上述条件的子串为字符串 ss最长平衡子串

你的任务是求出字符串 ss 的最长平衡子串的长度。

输入格式

输入共一行,包含一个字符串 ssss 仅由字符 '0' 和 '1' 组成,且长度不超过 10610^6

输出格式

输出一个整数,表示字符串 ss 的最长平衡子串的长度。

11010111
4
111
0

说明/提示

数据规模与约定

s|s| 表示字符串 ss 的长度,则:

  • 对于 20%20\% 的数据,s100|s| \le 100
  • 对于 40%40\% 的数据,s104|s| \le 10^4
  • 对于 60%60\% 的数据,s105|s| \le 10^5
  • 对于 100%100\% 的数据,1s1061 \le |s| \le 10^6ss 仅由字符 '0' 和 '1' 组成