atcoder#ARC120D. [ARC120D] Bracket Score 2
[ARC120D] Bracket Score 2
题目描述
括弧の対応が取れている文字列を、次のうちいずれかの条件を満たす文字列と定義します。
- 空文字列
- ある括弧の対応が取れている空でない文字列 が存在し、 をこの順に連結した文字列
- ある括弧の対応が取れている文字列 が存在し、
(
, ,)
をこの順に連結した文字列
また、括弧の対応が取れている文字列 の 文字目と 文字目が対応しているとは、以下の条件を全て満たすこととします。
-
(
-
)
- の 文字目と 文字目の間にある文字列 ( 文字目と 文字目は含まない) は括弧の対応が取れている文字列である
長さ の数列 が与えられます。
括弧の対応が取れている長さ の文字列 のスコアを、 の 文字目と 文字目が対応しているような全ての組 について を足し合わせたものと定義します。
括弧の対応が取れている長さ の文字列のうち、スコアが最大となるような文字列を つ求めてください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
長さ の括弧の対応が取れている文字列のうち、スコアが最大となるような文字列を つ出力せよ。
正しい答えが複数存在する場合、どれを出力しても正解と判定される。
题目大意
定义一个合法括号序列的权值为 ,其中 满足第 位在括号序列中是配对的。
给定长度为 的序列 ,请求出长度为 的权值最大的合法括号序列(不是输出权值,而是输出任意一个解)
translated by
https://www.luogu.com.cn/user/367488
2
1 2 3 4
(())
2
2 3 2 3
()()
提示
制約
- 入力に含まれる値は全て整数
Sample Explanation 1
長さ の括弧の対応が取れている文字列は (())
と ()()
の 種類あり、それぞれのスコアは以下の通りです。 - (())
: - ()()
: よって、(())
のみが正しい答えとなります。
Sample Explanation 2
(())
と ()()
のスコアは以下の通りです。 - (())
: - ()()
: よって、この場合どちらを出力しても正解となります。