#P15726. [JAG 2023 Summer Camp #3] Best parentheses

[JAG 2023 Summer Camp #3] Best parentheses

说明

一个仅由括号 () 组成的字符串被称为平衡的,如果它满足以下条件之一:

  • 它是一个空字符串。
  • 它是两个非空平衡字符串的连接。
  • 对于某个平衡字符串 aa,它是 (aa) 的连接。

给定 nn 个括号字符 s1,,sns_1, \ldots, s_nnn 个整数 c1,,cnc_1, \ldots, c_n。你需要选择零个或多个整数 t1,,tkt_1, \ldots, t_k,使得它们满足以下条件:

  • 1t1<t2<t3<<tkn1 \leq t_1 < t_2 < t_3 < \cdots < t_k \leq n
  • st1,st2,,stks_{t_1}, s_{t_2}, \ldots, s_{t_k} 的连接是一个平衡字符串。

注意,如果你选择零个整数,上述条件总是满足。

你的任务是最大化 i=1kcti\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}$$

第一行包含一个整数 nn1n300,0001 \leq n \leq 300,000)。第二行包含 nn 个字符 s1s2sns_1 s_2 \cdots s_n,每个字符是 ()。第三行包含 nn 个整数 c1 c2  cnc_1 \ c_2 \ \cdots \ c_nci109|c_i| \leq 10^9)。

输出格式

输出一行,表示通过选择零个或多个整数 t1,,tkt_1, \ldots, t_k 所能得到的 i=1kcti\sum\limits_{i=1}^{k} c_{t_i} 的最大可能值。

5
()(()
3 -9 -2 1 0
3
6
)()()(
-3 1 -4 1 -5 9
0

提示

翻译由 DeepSeek V3.2 完成