No.2276 I Want AC
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 150
作問者 :
miscalc
/ テスター :
magsta
タグ : / 解いたユーザー数 150
作問者 :
miscalc
/ テスター :
magsta
問題文最終更新日: 2023-04-22 00:13:20
コンテストの他の問題:
問題文
A, C, ? からなる長さ $N$ の文字列 $S$ が与えられます。
あなたは、$S$ に対して次の操作を行います。
- $S$ に含まれる
?を、それぞれAまたはCのいずれかで書き換える。
操作後、$S$ から(連続するとは限らない)部分列として AC を取り出す方法の数が得点となります。ここで、部分列を取り出す方法が異なるとは、取り出す位置が異なることをいいます。
得点の最大値を求めてください。
入力
$N$ $S$
- $N$ は整数である
- $2 \leq N \leq 2 \times 10^5$
- $S$ は
A,C,?からなる長さ $N$ の文字列である
出力
得点の最大値を出力してください。最後に改行してください。
サンプル
サンプル1
入力
5 A?CA?
出力
5
たとえば $S = $ AACAC とした場合、$S$ から(連続するとは限らない)部分列 AC を取り出す方法は
- $1$ 文字目と $3$ 文字目を取り出す
- $1$ 文字目と $5$ 文字目を取り出す
- $2$ 文字目と $3$ 文字目を取り出す
- $2$ 文字目と $5$ 文字目を取り出す
- $4$ 文字目と $5$ 文字目を取り出す
他に操作後の $S$ としてありうる文字列とその得点は、以下のようになります。
- $S = $
AACAAとした場合、得点は $2$ - $S = $
ACCAAとした場合、得点は $2$ - $S = $
ACCACとした場合、得点は $4$
AACAC が最大値 $5$ を達成することがわかります。
サンプル2
入力
6 ACACAC
出力
6
$S$ が ? を含まないこともあります。
サンプル3
入力
10 ??????????
出力
25
$S = $ AAAAACCCCC とするのが最適です。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。