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