开始: 2026-10-06 00:00:00

【集训04】CSP-J模拟赛1006

结束: 2026-10-07 00:00:00
当前  2026-11-04 11:35:03  类型: IOI  状态: 已经结束 

P3. 最长正则括号子串long
描述

给你一个仅由 `(` 和 `)` 组成的括号串 s。

我们称一个括号串是**正则括号子串**,当且仅当它可以由以下规则判定为合法:

1. 空串是正则的。

2. 若 A 是正则的,则 (A) 是正则的。

3. 若 A、B 均正则,则 AB 正则。

请在 s 中找出**最长的连续子串**,使得它是正则括号串,并统计这样的最长子串出现了多少次(不同起点算不同出现)。

如果不存在非空的正则括号子串,请输出 `0 1`。


输入

一行一个非空字符串 s,仅由 `(` 和 `)` 组成。


输出

一行两个整数:最长正则括号子串的**长度**和**出现次数**。若不存在,输出 `0 1`。

样例

输入

)((())))(()())

输出

6 2

输入

))(

输出

0 1
提示

样例 1:最长正则子串为 `((()))` 与 `(()())`,长度均为 6,各出现 1 次,共 2 次。样例 2:不存在任何非空正则子串,按约定输出 `0 1`。

| 20% | 1~5 | 20 | \lvert s\rvert \le 20 | 

| 60% | 6~15 | 40(累计 60) | \lvert s\rvert \le 2000 |

| 100% | 16~25 | 40(累计 100) | \lvert s\rvert \le 10^6 | 

对于全部数据,保证 1 \le |s| \le 10^6。

提交

题目参数
时间限制 1 秒
内存限制 128 MB
提交