글자 빈도 차이
시간 제한1초메모리 제한128 MB
소문자 단어에서 연속한 일부분을 골라 가장 많이 나온 글자와 가장 적게 나온 글자의 등장 횟수 차이를 최대로 만든다.
문제
소문자 알파벳('a'부터 'z')으로만 이루어진 길이 의 단어가 주어진다. 이 단어에서 비어 있지 않은 연속한 부분 문자열(한 덩어리로 이어진 조각)을 하나 골라, 그 조각 안에서 가장 많이 나오는 글자의 등장 횟수와 가장 적게 나오는 글자의 등장 횟수의 차이를 최대로 만들고 싶다. 이때 '가장 적게 나오는 글자'는 그 조각 안에 적어도 한 번은 등장해야 한다. 특히 조각이 한 종류의 글자로만 이루어져 있다면, 가장 많이 나오는 글자와 가장 적게 나오는 글자가 같으므로 그 차이는 이다.
입력
첫째 줄에 단어의 길이를 나타내는 정수 이 주어진다 (). 둘째 줄에 소문자 알파벳으로 이루어진 길이 의 단어가 주어진다.
출력
비어 있지 않은 연속한 부분 문자열 전체에 대해 얻을 수 있는, 가장 많이 나오는 글자의 등장 횟수와 가장 적게 나오는 글자의 등장 횟수의 최대 차이를 정수 하나로 출력한다.
힌트
예를 들어 단어가 aabbaaabab일 때, 부분 문자열 aaaba에서는 a가 4번, b가 1번 나와 차이가 이 되며 이것이 최댓값이다.