#893. 括号序列(brackets)

括号序列(brackets)

题目描述

给定一个字符串 SS,其仅由字符 ().\texttt{(}、\texttt{)}、\texttt{.} 以及数字字符(09()(\texttt{0}-\texttt{9}()组成。

我们称一个子串为好括号,当且仅当满足以下条件:

  • 该子串以 (\texttt{(} 开头,以 )\texttt{)} 结尾;
  • 括号内部不包含字符 (\texttt{(})\texttt{)}
  • 括号内部由若干个正整数 和字符 .\texttt{.} 构成;
  • 其中的正整数是由连续的数字字符组成的 十进制表示(不含符号);
  • 括号内部允许以 .\texttt{.} 开头或结尾;
  • 括号内部至少包含一个正整数。

一个好括号的权值定义为其中所有正整数的和。

例如:

  • (2.4.92)\texttt{(2.4.92)} 是好括号,权值为 2+4+92=982+4+92=98
  • (1.12.)\texttt{(1.12.)} 是好括号,权值为 1+12=131+12=13
  • (.1.2)\texttt{(.1.2)} 是好括号(以 .\texttt{.} 开头);
  • (1..2)\texttt{(1..2)} 是好括号(存在连续的 .\texttt{.});
  • (1.2(\texttt{(1.2(} 不是好括号(包含非法括号)。

输入格式

输入一行,包含一个字符串 SS

输出格式

输出一行一个整数,表示权值最大的好括号。

样例 1

(21.4(1()2)
0

样例 2

(3.32.1)1(3.46.)2)
49

样例 3

见选手目录下的 brackets/brackets3.in\texttt{brackets/brackets3.in}brackets/brackets3.ans\texttt{brackets/brackets3.ans}

该测试用例满足测试点 151\sim 5 的约束条件。

数据范围

对于 100%100\% 的数据,满足 2S1062\le |S| \le 10^6,字符串第一个字符为 (,最后一个字符为 )。且每个数字的大小在 100100 以内。

各测试点的附加限制如下表所示:

测试点编号 S|S|\le 特殊性质
151 \sim 5 50005000
676 \sim 7 10610^6 A
8108 \sim 10

特殊性质 A:序列中只存在 ()

点击下载大样例