题目描述
给定一个字符串 S,其仅由字符 (、)、. 以及数字字符(0−9()组成。
我们称一个子串为好括号,当且仅当满足以下条件:
- 该子串以 ( 开头,以 ) 结尾;
- 括号内部不包含字符 ( 或 );
- 括号内部由若干个正整数 和字符 . 构成;
- 其中的正整数是由连续的数字字符组成的 十进制表示(不含符号);
- 括号内部允许以 . 开头或结尾;
- 括号内部至少包含一个正整数。
一个好括号的权值定义为其中所有正整数的和。
例如:
- (2.4.92) 是好括号,权值为 2+4+92=98;
- (1.12.) 是好括号,权值为 1+12=13;
- (.1.2) 是好括号(以 . 开头);
- (1..2) 是好括号(存在连续的 .);
- (1.2( 不是好括号(包含非法括号)。
输入格式
输入一行,包含一个字符串 S。
输出格式
输出一行一个整数,表示权值最大的好括号。
样例 1
(21.4(1()2)
0
样例 2
(3.32.1)1(3.46.)2)
49
样例 3
见选手目录下的 brackets/brackets3.in 和 brackets/brackets3.ans。
该测试用例满足测试点 1∼5 的约束条件。
数据范围
对于 100% 的数据,满足 2≤∣S∣≤106,字符串第一个字符为 (,最后一个字符为 )。且每个数字的大小在 100 以内。
各测试点的附加限制如下表所示:
| 测试点编号 |
∣S∣≤ |
特殊性质 |
| 1∼5 |
5000 |
无 |
| 6∼7 |
106 |
A |
| 8∼10 |
无 |
特殊性质 A:序列中只存在 ( 和 )。
点击下载大样例