페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#5123
서브태스크

ABBC 3s 1024MB

문제

A, B, C로만 이루어졌고 길이가 |S|인 문자열 S가 있다. 당신은 이 문자열에 다음과 같은 시행을 할 수 있다.

A와 그 뒤에 있는 B를 지운다.

B와 그 뒤에 있는 C를 지운다.

• 각 문자는 최대 한 번만 지울 수 있다.

예를 들어 ABCBA를 보자. 각 문자에 왼쪽부터 1번, 2번, 3번. . . 과 같이 번호를 붙이면 다음과 같이 시행할 수 있다.

• 1번 A와 2번 B를 지운다. 이 경우 시행의 횟수는 1번이고, 남은 문자열은 CBA이다.   어떤 두 문자를 골라도 시행의 조건을 만족시킬 수 없으므로, 더 이상 시행을 할 수 없다.

• 1번 A와 4번 B를 지우고, 이어 2번 B와 3번 C를 지운다.   이 경우 시행의 횟수는 2번이고 남은 문자열은 A이다.   문자열에 남은 문자가 하나이므로, 더 이상 시행을 할 수 없다.

이외에도 시행을 할 수 있는 여러 경우의 수가 있다.

시행을 할 수 있는 최대 횟수를 구해라.​


입력

첫 번째 줄에 문자열 S( 1 ≤ |S| ≤ 300,000)가 주어진다. 

S의 모든 문자는 A, B, C 중 하나이다.


출력

첫 번째 줄에 답을 출력한다. 


부분문제

번호 점수 조건
#15점

S의 모든 문자는 A, B 중 하나이다.

#220점

|S| ≤ 300.

#332점

|S| ≤ 1,000

#443점

추가 제약 조건 없음.​ 


예제 #1

ABCBA
2

예제 #2

ABCBBACBABB
5


출처

KOI 1차 2022 고2

로그인해야 코드를 작성할 수 있어요.