B - ABC
解説
/
/
実行時間制限: 2 sec / メモリ制限: 1024 MiB
配点 : 600 点
問題文
A,B,C からなる文字列 s が与えられます。
すぬけ君は s に対して次の操作をできるだけ多く行おうとしています。
- s の連続した部分文字列であって
ABCであるようなものをひとつ選び、BCAに書き換える。
操作回数の最大値を求めてください。
制約
- 1 ≦ |s| ≦ 200000
- s の各文字は
A,B,Cのいずれか
入力
入力は以下の形式で標準入力から与えられる。
s
出力
操作回数の最大値を出力せよ。
入力例 1
ABCABC
出力例 1
3
ABCABC → BCAABC → BCABCA → BCBCAA とすることで 3 回操作可能で、これが最大です。
入力例 2
C
出力例 2
0
入力例 3
ABCACCBABCBCAABCB
出力例 3
6
Score : 600 points
Problem Statement
You are given a string s consisting of A, B and C.
Snuke wants to perform the following operation on s as many times as possible:
- Choose a contiguous substring of s that reads
ABCand replace it withBCA.
Find the maximum possible number of operations.
Constraints
- 1 \leq |s| \leq 200000
- Each character of s is
A,BandC.
Input
Input is given from Standard Input in the following format:
s
Output
Find the maximum possible number of operations.
Sample Input 1
ABCABC
Sample Output 1
3
You can perform the operations three times as follows: ABCABC → BCAABC → BCABCA → BCBCAA. This is the maximum result.
Sample Input 2
C
Sample Output 2
0
Sample Input 3
ABCACCBABCBCAABCB
Sample Output 3
6