最长合法括号序列
题目描述
这是一道处理合法括号序列的题目。
我们应该提醒你,如果一个括号序列插入"\(+\)"和"\(1\)"后,可以得到一个正确的数学表达式,那么它被称为"合法"的。
例如,序列"\((())()\)","\(()\)"和"\((()(()))\)"是合法的,但"\()(\)","\((()\)"和"\((()))(\)"不是合法的。 给出一个由"\((\)"和"\()\)"字符组成的字符串。你要找出它最长的是合法括号序列的子串,也同样要找出最长子串的个数。
格式
输入格式
一行包含一个非空字符串,由"\((\)"和"\()\)"字符组成,长度不超过 \(10^6\)。
输出格式
输出最长合法括号序列的子串的长度,和最长子串的个数。 如果不存在这种子串,输出唯一的一行,包含"\(0\) \(1\)"。
样例1
样例输入1
)((())))(()())
样例输出1
6 2
限制
\(50\%\)的数据:读入的字符串长度小于等于 \(10^3\);
\(100\%\)的数据:读入的字符串长度小于等于\(10^6\)。