#ATarc175b. [ARC175B] Parenthesis Arrangement
[ARC175B] Parenthesis Arrangement
题目描述
给定一个由 个 ( 和 ) 组成的字符串 。用 表示 从左起第 个字符。
你可以按任意顺序、任意次数(包括 次)执行以下两种操作:
- 选择满足 的整数对 ,交换 和 。该操作的代价为 。
- 选择满足 的整数 ,将 替换为
(或)。该操作的代价为 。
你的目标是将 变为一个合法的括号序列。请你求出达成目标所需的总代价的最小值。可以证明,经过有限次操作后一定可以达成目标。
合法括号序列的定义如下:
- 空字符串;
- 存在某个合法括号序列 ,将
(、、)按顺序连接得到的字符串; - 存在非空的合法括号序列 ,将 按顺序连接得到的字符串。
输入格式
输入以如下格式从标准输入读入:
输出格式
请输出一行,表示所需总代价的最小值。
样例 1
输入
3 3 2
)))(()
输出
5
样例 2
输入
1 175 1000000000
()
输出
0
样例 3
输入
7 2622 26092458
))()((((()()((
输出
52187538
说明/提示
限制条件
- 输入的所有数值均为整数。
- 是长度为 的、仅由
(和)组成的字符串。
样例解释 1
操作的一种方案如下:
- 交换 和 , 变为
))()(),代价为 。 - 将 替换为
(, 变为()()(),这是一个合法的括号序列,代价为 。
本例中,将 变为合法括号序列的总代价为 。不存在总代价小于 的方案。
样例解释 2
输入的 已经是合法括号序列,无需进行任何操作。
由 ChatGPT 4.1 翻译