atcoder#AGC048B. [AGC048B] Bracket Score
[AGC048B] Bracket Score
配点 : 点
問題文
この問題では,(
,)
,[
,]
からなる文字列を考えます.
文字列 は,以下のいずれかの条件を満たす時,良い括弧列と呼ばれます.
- は空文字列である.
- ある良い括弧列 が存在し,
(
,,)
をこの順に連結すると が得られる. - ある良い括弧列 が存在し,
[
,,]
をこの順に連結すると が得られる. - ある空でない良い括弧列 および が存在し, をこの順に連結すると が得られる.
例えば,[]
, ([()])
, ()[()]
などは良い括弧列ですが,())
, ([)]
などは良い括弧列ではありません.
偶数 と,長さ の整数列 および が与えられます. ここで,長さ の良い括弧列 に対して, のスコアを次のように定めます.
- のスコアは,各文字のスコアの合計である.
- 文字目 () のスコアは, が
(
または)
ならば であり, が[
または]
ならば である.
長さ の良い括弧列のスコアとしてあり得る最大の値を求めてください.
制約
- は偶数
- 入力される数はすべて整数.
入力
入力は以下の形式で標準入力から与えられる.
出力
答えを出力せよ.
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