아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

미친 회전

시간 제한15초메모리 제한512 MB

요약
여러 색의 불빛 배열이 주어질 때, 회전의 변화량이 감소하지 않는 순서에서 위치 p에 올 수 있는 가장 작은 회전 칸수를 구한다.
난이도

어려움10점 중 9점

유형
문자열 매칭, 조합론, 정렬, 정수론
정답자
아직 제출이 없습니다

문제

Cynthia는 색이 있는 전구 nn개를 한 줄로 놓았다. 전구에는 00번부터 n−1n-1번까지 번호가 붙어 있다. Cynthia는 전구의 색을 회전시켜 애니메이션을 만든다. 색을 kk칸 회전한다는 것은, 시각 tt에서 ii번 전구의 색이 시각 t−1t-1에서 (i−k) mod n(i - k) \bmod n번 전구가 가졌던 색과 같아진다는 뜻이다. 회전을 한 번 하면 색이 바뀌는 전구가 여럿 생길 수 있다. kk칸 회전의 광기는 색이 바뀌는 전구의 개수다.

예를 들어 전구 8개가 BRBRBYBB라고 하자. 글자 하나가 전구 하나의 색이다. 1칸 회전하면 BBRBRBYB가 되고 전구 6개의 색이 바뀌므로, 이 회전의 광기는 6이다.

Cynthia는 광란 수열을 만들려고 한다. 광란 수열은 서로 다른 회전 n−1n-1개를 늘어놓은 순서이고, 광기가 한 번도 줄어들지 않아야 한다. 정확히 말하면 11부터 n−1n-1까지의 정수를 한 번씩 사용한 순열 (a1,a2,…,an−1)(a_1, a_2, \ldots, a_{n-1}) 중에서, 2≤i<n2 \le i < n인 모든 ii에 대해 ai−1a_{i-1}칸 회전의 광기가 aia_i칸 회전의 광기보다 크지 않은 것이다.

전구 4개가 BYBR이면 1칸 회전의 광기는 4, 2칸 회전의 광기는 2, 3칸 회전의 광기는 4이다. 따라서 (2,1,3)(2, 1, 3)은 광란 수열이고, 1칸 회전은 2번째 자리에 놓인다.

전구의 처음 색과 정수 pp가 주어진다. 광란 수열의 pp번째 자리에 올 수 있는 가장 작은 수를 구하라.

입력

첫째 줄에 전구의 개수 nn (2≤n≤500 0002 \le n \le 500\,000)과 궁금한 자리의 번호 pp (1≤p<n1 \le p < n)가 주어진다.

둘째 줄에 길이가 nn인 문자열이 주어진다. 이 문자열은 전구의 처음 색을 나타낸다. 전구 하나의 색은 문자 하나로 적고, R은 빨강, B는 파랑, Y는 노랑이다.

출력

광란 수열의 pp번째 자리에 올 수 있는 가장 작은 수를 출력한다.

예제2

  1. 예제 1

    입력
    4 2
    BYBR
    
    예상 출력
    1
    
  2. 예제 2

    입력
    8 3
    BRBRBYBB
    
    예상 출력
    4