P15726 [JAG 2023 Summer Camp #3] Best parentheses
题目描述
一个仅由括号 `(` 和 `)` 组成的字符串被称为**平衡的**,如果它满足以下条件之一:
- 它是一个空字符串。
- 它是两个非空平衡字符串的连接。
- 对于某个平衡字符串 $a$,它是 `(`、$a$ 和 `)` 的连接。
给定 $n$ 个括号字符 $s_1, \ldots, s_n$ 和 $n$ 个整数 $c_1, \ldots, c_n$。你需要选择零个或多个整数 $t_1, \ldots, t_k$,使得它们满足以下条件:
- $1 \leq t_1 < t_2 < t_3 < \cdots < t_k \leq n$。
- $s_{t_1}, s_{t_2}, \ldots, s_{t_k}$ 的连接是一个平衡字符串。
注意,如果你选择零个整数,上述条件总是满足。
你的任务是最大化 $\sum\limits_{i=1}^{k} c_{t_i}$。
输入格式
输入包含一个单独的测试用例,格式如下:
$$
\begin{aligned}
&n \\
&s_1 s_2 \cdots s_n \\
&c_1 \ c_2 \ \cdots \ c_n
\end{aligned}
$$
第一行包含一个整数 $n$($1 \leq n \leq 300,000$)。第二行包含 $n$ 个字符 $s_1 s_2 \cdots s_n$,每个字符是 `(` 或 `)`。第三行包含 $n$ 个整数 $c_1 \ c_2 \ \cdots \ c_n$($|c_i| \leq 10^9$)。
输出格式
输出一行,表示通过选择零个或多个整数 $t_1, \ldots, t_k$ 所能得到的 $\sum\limits_{i=1}^{k} c_{t_i}$ 的最大可能值。
说明/提示
翻译由 DeepSeek V3.2 完成