미친 회전
시간 제한15초메모리 제한512 MB
여러 색의 불빛 배열이 주어질 때, 회전의 변화량이 감소하지 않는 순서에서 위치 p에 올 수 있는 가장 작은 회전 칸수를 구한다.
문제
Cynthia는 색이 있는 전구 개를 한 줄로 놓았다. 전구에는 번부터 번까지 번호가 붙어 있다. Cynthia는 전구의 색을 회전시켜 애니메이션을 만든다. 색을 칸 회전한다는 것은, 시각 에서 번 전구의 색이 시각 에서 번 전구가 가졌던 색과 같아진다는 뜻이다. 회전을 한 번 하면 색이 바뀌는 전구가 여럿 생길 수 있다. 칸 회전의 광기는 색이 바뀌는 전구의 개수다.
예를 들어 전구 8개가 BRBRBYBB라고 하자. 글자 하나가 전구 하나의 색이다. 1칸 회전하면 BBRBRBYB가 되고 전구 6개의 색이 바뀌므로, 이 회전의 광기는 6이다.
Cynthia는 광란 수열을 만들려고 한다. 광란 수열은 서로 다른 회전 개를 늘어놓은 순서이고, 광기가 한 번도 줄어들지 않아야 한다. 정확히 말하면 부터 까지의 정수를 한 번씩 사용한 순열 중에서, 인 모든 에 대해 칸 회전의 광기가 칸 회전의 광기보다 크지 않은 것이다.
전구 4개가 BYBR이면 1칸 회전의 광기는 4, 2칸 회전의 광기는 2, 3칸 회전의 광기는 4이다. 따라서 은 광란 수열이고, 1칸 회전은 2번째 자리에 놓인다.
전구의 처음 색과 정수 가 주어진다. 광란 수열의 번째 자리에 올 수 있는 가장 작은 수를 구하라.
입력
첫째 줄에 전구의 개수 ()과 궁금한 자리의 번호 ()가 주어진다.
둘째 줄에 길이가 인 문자열이 주어진다. 이 문자열은 전구의 처음 색을 나타낸다. 전구 하나의 색은 문자 하나로 적고, R은 빨강, B는 파랑, Y는 노랑이다.
출력
광란 수열의 번째 자리에 올 수 있는 가장 작은 수를 출력한다.