#cpsco2019s2c. [cpsco2019_s2_c]Delicious Burgers
[cpsco2019_s2_c]Delicious Burgers
問題文
バンズ文字列とは、以下によって定義される、文字 (
および )
からなる文字列のことです。
- 空文字列はバンズ文字列である。
- がバンズ文字列であるとき、
(
と と)
を順に連結した文字列はバンズ文字列である。 - , がバンズ文字列であるとき、 と を連結した文字列はバンズ文字列である。
- これら以外の文字列はバンズ文字列ではない。
上のようにしてバンズ文字列を生成するにあたって、 2. によって同時に追加された (
と )
をペアにして、これを対応バンズと呼ぶことにします。
バンズ文字列では、任意の文字がある対応バンズに属し、どの文字も複数の対応バンズに属さないことがわかります。
また、バーガー文字列とは、以下によって定義される、文字 (
, )
および |
からなる文字列のことです。
- 文字
|
をすべて取り除くと、バンズ文字列になる。 - 文字
|
はつ以上連続しない。
長さ のバンズ文字列 が与えられます。 あなたは に文字 |
を 個挿入し、バーガー文字列を作ることにしました。
バーガー文字列に含まれるある対応バンズの美味しさとは、その2文字 (
と )
の間にある |
の個数のことです。
バーガー文字列の美味しさとは、それに含まれるすべての対応バンズの美味しさの和のことです。
あなたが作ることのできるバーガー文字列の美味しさの最大値を求めてください。
制約
- , は整数である。
- はバンズ文字列である。
入力
入力は以下の形式で標準入力から与えられる。
出力
作ることのできるバーガー文字列の美味しさの最大値を出力せよ。
入力例 1
6 1
(())()
出力例 1
2
((|))()
を作るのが最適です。
入力例 2
8 2
((()))()
出力例 2
5
(((|)|))()
を作るのが最適です。