AT_arc175_b.[ARC175B] Parenthesis Arrangement
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个由 2N 个 ( 和 ) 组成的字符串 S。用 Si 表示 S 从左起第 i 个字符。
你可以按任意顺序、任意次数(包括 0 次)执行以下两种操作:
- 选择满足 1≤i<j≤2N 的整数对 (i,j),交换 Si 和 Sj。该操作的代价为 A。
- 选择满足 1≤i≤2N 的整数 i,将 Si 替换为
(或)。该操作的代价为 B。
你的目标是将 S 变为一个合法的括号序列。请你求出达成目标所需的总代价的最小值。可以证明,经过有限次操作后一定可以达成目标。
合法括号序列的定义如下:
- 空字符串;
- 存在某个合法括号序列 A,将
(、A、)按顺序连接得到的字符串; - 存在非空的合法括号序列 S,T,将 S,T 按顺序连接得到的字符串。
输入格式
输入以如下格式从标准输入读入:
N A B S
输出格式
请输出一行,表示所需总代价的最小值。
输入输出样例
输入#1
3 3 2 )))(()
输出#1
5
输入#2
1 175 1000000000 ()
输出#2
0
输入#3
7 2622 26092458 ))()((((()()((
输出#3
52187538
说明/提示
限制条件
- 输入的所有数值均为整数。
- 1≤N≤5×105
- 1≤A,B≤109
- S 是长度为 2N 的、仅由
(和)组成的字符串。
样例解释 1
操作的一种方案如下:
- 交换 S3 和 S4,S 变为
))()(),代价为 3。 - 将 S1 替换为
(,S 变为()()(),这是一个合法的括号序列,代价为 2。
本例中,将 S 变为合法括号序列的总代价为 5。不存在总代价小于 5 的方案。
样例解释 2
输入的 S 已经是合法括号序列,无需进行任何操作。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?