B. [R34B]括号回文串

    Type: Default 1000ms 512MiB

[R34B]括号回文串

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

时空限制

1S/512M

题目描述

apiadu 喜欢回文串。

现在有一个长度为 nn、仅由 () 组成的字符串 ss,以及一个数组 aassaa 的下标均从 00 开始)。apiadu 可以对字符串 ss 进行任意次操作:

  • 选择一个下标 ii (0in10 \leq i \leq n - 1),花费 aia_i 个金币,将 ss 的第 ii 个字符进行翻转(即 ( 变为 )) 变为 ()。

请帮 apiadu 计算将字符串 ss 变为一个回文串所需的最少金币数量

一个字符串是回文串,当且仅当这个字符串从左向右读和从右向左读是完全一样的。例如,字符串 racecar()( 都是回文串,而 hello(()) 则不是。

格式

输入格式

第一行包含一个正整数 nn,表示字符串 ss 和代价数组 aa 的长度。

第二行包含一个长度为 nn 的字符串 ss

第三行包含 nn 个正整数 a0,a1,,an1a_0, a_1, \ldots, a_{n-1},表示修改 ss 的第 ii 个位置需要的金币数量。

输出格式

输出一个整数,表示将字符串 ss 变为回文串的最少金币数量。

样例

样例输入 #1

8
())((())
1 2 3 4 5 6 7 8

样例输出 #1

4

样例解释 #1

修改位置为 0,20,2 的字符,此时 ss 变成了 ))(((())。需要花费 44 个金币。 可以证明这是最少的花费金币数。

数据规模

对于 100%100\% 的数据,1n1051 \le n \le 10^5, 1ai10001 \le a_i \le 1000。字符串 ss 仅由 () 组成。

代码源挑战赛 Round 34

Not Attended
Status
Done
Rule
DMY
Start at
2025-10-17 20:00
End at
2025-10-17 21:30
Duration
1.5 hour(s)
Host
Partic.
473