2、最长合法括号序列
问题描述:
这是另一道处理合法括号序列的题目。
我们应该提醒你,如果一个括号序列插入“+”和“1”后,可以得到一个正确的数学表达式,那么它被称为“合法”的。
例如,序列“(())()”,“()”和“(()(()))”是合法的,但“)(”,“(()”
和“(()))(”不是。
给出一个由“(”和“)”字符组成的字符串。你要找出它最长的是合法括号序列的子串,也同样要找出最长子串的个数。
问题输入:
一行包含一个非空字符串,由“(”和“)”字符组成,长度不超过10^6。
问题输出:
输出最长合法括号序列的子串的长度,和最长子串的个数。
如果不存在这种子串,输出唯一的一行,包含“0 1”。
Sample 1
Input
)((())))(()())
Output
6 2
Sample 2
Input
))(
Output
0 1
数据规模:
对于50%的数据满足:读入的字符串长度小于等于1000;
对于100%的数据满足:读入的字符串长度小于等于1000000。
Limitation
1s, 256MiB for each test case.
信息
- 难度
- 6
- 分类
- (无)
- 标签
- 递交数
- 45
- 已通过
- 11
- 通过率
- 24%
- 上传者