RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
KOI00049

ABBC

Gold III 골드 III
난이도
2s
시간 제한
1024MB
메모리 제한
4
맞았습니다!!
5
제출 수
80.0%
정답률
레이팅

의견: 0

설명

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이다. 문자열에 남은 문자가 하나이므로, 더 이상 시행을 할 수 없다.

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

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

제약
  • \(1 \le |S| \le 300\,000\)
  • \(S\)의 모든 문자는 A, B, C 중 하나이다.
입력 형식

첫 번째 줄에 문자열 S가 주어진다.

출력 형식

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

서브태스크
서브태스크점수설명

1

5점

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

2

20점

\(|S| \le 300\).

3

32점

\(|S| \le 1\,000\).

4

43점

추가 제약 조건 없음.

예제 1
입력
ABCBA
출력
2
예제 2
입력
ABCBBACBABB
출력
5
문제 정보

riseoj 작성

출처 올림피아드 > 한국정보올림피아드 > KOI 2022 > 1차 대회 > 고등부 2번

평가 및 의견

ABBC

개요
출제자 난이도 Gold III 골드 III 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

ABBC

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8