#ATarc120d. [ARC120D] Bracket Score 2
[ARC120D] Bracket Score 2
题目描述
我们将括号匹配的字符串定义为满足以下任一条件的字符串:
- 空字符串。
- 存在某些括号匹配的非空字符串 ,将 和 按顺序连接得到的字符串。
- 存在某个括号匹配的字符串 ,将
(、、)按顺序连接得到的字符串。
此外,对于括号匹配的字符串 ,我们称 的第 个字符和第 个字符匹配,当且仅当满足以下所有条件:
- 。
-
(。 -
)。 - 的第 个字符和第 个字符之间的子串(不包括 和 这两个字符)是一个括号匹配的字符串。
给定一个长度为 的数列 。
对于长度为 的括号匹配的字符串 ,定义其得分为:对所有 中匹配的字符对 ,将 的值累加起来。
请你求出所有长度为 的括号匹配的字符串中,得分最大的一个字符串。输出任意一个即可。
输入格式
输入以如下格式从标准输入读入:
输出格式
请输出一个长度为 的括号匹配的字符串,使其得分最大。
如果有多个答案,输出其中任意一个均可。
样例 1
输入
2
1 2 3 4
输出
(())
样例 2
输入
2
2 3 2 3
输出
()()
说明/提示
数据范围
- 输入中的所有值均为整数。
样例解释 1
长度为 的括号匹配的字符串有两种:(()) 和 ()(),它们的得分如下:
(()):()():
因此,只有 (()) 是正确答案。
样例解释 2
(()) 和 ()() 的得分如下:
(()):()():
因此,这种情况下输出任意一个都是正确答案。
由 ChatGPT 4.1 翻译