#34
서식지 분할
채점 준비중
시간 제한
2000ms
메모리 제한
256MB
제출
32
정답
14
맞힌 사람
12
정답 비율
43.8%

대전시에는 일자로 흐르는 갑천을 따라 형성된 갑천생태공원이 있다. 생태공원은 강의 상류에서 하류방향으로 N 개의 구역으로 나뉘어져 있고 i 번째 구역에는 S_i 라는 종 이름을 가진 물고기들이 서식하고 있다. 종의 이름은 편의 상 알파벳 소문자 하나이고, 이름이 같다면 두 종은 같은 종이다.

대전시는 환경 보호를 위해 생태공원을 두 구간으로 나누려고 한다. 그리고 나뉜 두 구간에 대해서 각각 생태 점수를 측정하려고 한다. 어떤 구간에 대한 생태 점수는 그 구간에 서식하는 서로 다른 물고기 종의 개수와 같다.

예를 들어, N = 7 이고 Sabcabcd 인 생태공원을 고려해보자. 만약 생태공원을 abcabcd로 나눈다면 각각의 생태 점수는 3 + 4 로 총 7점으로 최대가 된다.

입력

첫째 줄에 정수 ~N (2 ≤ N ≤ 100,000)~이 주어진다.

둘째 줄에 알파벳 소문자로 이루어진 문자열 S 가 주어진다.

##출력

주어진 생태 공원을 두 구간으로 나눴을 때 얻을 수 있는 최대 생태 점수를 출력한다.

예제 입력 1

7
abcabcd

예제 출력 1

7

예제 입력 2

4
aazz

예제 출력 2

3

예제 입력 3

10
anaforever

예제 출력 3

9

참고

알파벳 빈도에서 했던 것 처럼 모든 알파벳 별 등장 빈도를 저장하면 임의의 구간의 서로 다른 알파벳의 개수를 빠르게 구할 수 있다.

코드 제출
로딩 중...
내 제출
아직 제출 내역이 없습니다.
맞은 사람
순위사용자언어시간메모리코드 길이
🥇202302564_성준혁C52ms1536KB719B
🥈kaorinC++104ms5380KB995B
🥉202302534_김승현Python532ms12800KB520B
4202402751_한현욱Python577ms11392KB573B
5202102622_김우솔Java1036ms39296KB1274B
6202301773_이종현Java1037ms39024KB1069B
7201802070_김시온Java1043ms53264KB1535B
8202202596_배인수Java1064ms41220KB846B
9202302602_이준휘Java1312ms46336KB798B
10202102659_안우진Java1330ms44416KB784B
11202202658_황현석Java1389ms141152KB3290B
12202102700_정민용Python2293ms106996KB636B
전체 제출
#사용자결과언어시간메모리코드 길이제출 시간
4012202302564_성준혁정답C53ms1536KB701B2024. 05. 25. 17:18
4011202302564_성준혁정답C52ms1536KB719B2024. 05. 25. 17:18
3456202302564_성준혁오답Java1224ms32256KB1049B2024. 05. 08. 14:53
3455202302564_성준혁컴파일 에러C--1049B2024. 05. 08. 14:52
3260202401828_백성현오답Python1739ms107608KB600B2024. 05. 02. 11:48
3259202401828_백성현오답Python1572ms107840KB612B2024. 05. 02. 11:48
3253202402751_한현욱정답Python577ms11392KB573B2024. 05. 02. 11:41
3247202002511_송준원시간 초과Java8841ms33792KB1256B2024. 05. 02. 11:39
3236202401828_백성현오답Python1451ms107640KB485B2024. 05. 02. 11:36
3235202402751_한현욱오답Python573ms14592KB537B2024. 05. 02. 11:36
3221202102659_안우진정답Java1330ms44416KB784B2024. 05. 02. 11:30
3220202102659_안우진오답Java1269ms44288KB786B2024. 05. 02. 11:30
3217202002511_송준원시간 초과Java8865ms33920KB1256B2024. 05. 02. 11:28
3201202302602_이준휘정답Java1312ms46336KB798B2024. 05. 02. 11:02
3197202302602_이준휘오답Java1296ms45952KB800B2024. 05. 02. 11:00
3194202302602_이준휘컴파일 에러Python--800B2024. 05. 02. 11:00
3182202102713_진민혁시간 초과Java8848ms96640KB1000B2024. 05. 02. 10:53
3166202102700_정민용정답Python2293ms106996KB636B2024. 05. 02. 10:43
3093202102700_정민용정답Python2355ms106992KB599B2024. 05. 01. 14:07
3073202102622_김우솔정답Java1036ms39296KB1274B2024. 04. 30. 05:57
1 / 2