atcoder#AGC048B. [AGC048B] Bracket Score
[AGC048B] Bracket Score
题目描述
この問題では,(
,)
,[
,]
からなる文字列を考えます.
文字列 は,以下のいずれかの条件を満たす時,良い括弧列と呼ばれます.
- は空文字列である.
- ある良い括弧列 が存在し,
(
,,)
をこの順に連結すると が得られる. - ある良い括弧列 が存在し,
[
,,]
をこの順に連結すると が得られる. - ある空でない良い括弧列 および が存在し, をこの順に連結すると が得られる.
例えば,[]
, ([()])
, ()[()]
などは良い括弧列ですが,())
, ([)]
などは良い括弧列ではありません.
偶数 と,長さ の整数列 および が与えられます. ここで,長さ の良い括弧列 に対して, のスコアを次のように定めます.
- のスコアは,各文字のスコアの合計である.
- 文字目 () のスコアは, が
(
または)
ならば であり, が[
または]
ならば である.
長さ の良い括弧列のスコアとしてあり得る最大の値を求めてください.
输入格式
入力は以下の形式で標準入力から与えられる.
输出格式
答えを出力せよ.
题目大意
我们定义好串如下:
-
空串是好串
-
如果 S 为好串,那么
(
+S+)
为好串。 -
如果 S 为好串,那么
[
+S+]
为好串。 -
如果 S 和 T 均为好串,那么 S+T 为好串。
现在给定长度为偶数的两个序列 和 。
我们定义一个好串 的分数如下:
-
如果
(
或)
,那么第 位贡献的分数为 。 -
如果
[
或]
,那么第 位贡献的分数为 。
求 可能的最大分数是多少。
4
4 2 3 1
2 3 2 4
12
10
866111664 844917655 383133839 353498483 472381277 550309930 378371075 304570952 955719384 705445072
178537096 218662351 231371336 865935868 579910117 62731178 681212831 16537461 267238505 318106937
6629738472
提示
制約
- は偶数
- 入力される数はすべて整数.
Sample Explanation 1
()\[\]
とするとスコアが になり,これが最大です.