만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

포닉스의 문단속

면접 대비

시간 제한1초메모리 제한1024 MB

요약
각 자리의 다이얼을 한 번에 한 칸씩 돌려 정확히 K번 돌린 뒤 만들 수 있는 사전순으로 가장 작은 문자열을 구합니다.
난이도

보통10점 중 5점

유형
그리디, 문자열, 구현
정답자
아직 제출이 없습니다

문제

포닉스의 집은 어디일까? 사람들은 포닉스의 집이 포스텍일 것이라 생각하지만, 사실 포닉스는 하늘 높이 있는 불사조 마을에 살고 있다. 불사조 마을은 외부인이 접근하기 어렵고, 불사조는 태생이 정의로운 생물이라 문단속을 잘 까먹곤 한다.

포닉스도 예외는 아니라서 매일 문을 잠그지 않은 채로 포스텍과 불사조 마을을 왕복하고 있었다. 그러던 어느 날, 포닉스가 집을 비운 사이 포스텍의 유명한 대도 Mr. K가 포닉스의 집에 자물쇠를 설치하고 말았다! 자물쇠는 NN개의 다이얼이 연결된 형태이며, 각 다이얼에는 A부터 Z까지의 알파벳 대문자가 차례대로 적혀 있다.

포닉스는 자물쇠를 풀기 위해 다이얼 중 하나를 골라 11번 돌릴 수 있다. 이때 고른 다이얼에 표시된 문자가 A였다면 B로, B였다면 C로, ..., Z였다면 A로 바뀐다. 반대 방향으로는 돌릴 수 없다. 정보를 모은 결과, 포닉스는 이러한 작업을 정확히 KK번 해서 표시할 수 있는 문자열 중 사전 순으로 가장 작은 것이 자물쇠의 비밀번호라는 사실을 알아냈다. 포닉스가 집을 되찾을 수 있도록 자물쇠의 비밀번호를 알아내 보자.

입력

첫 번째 줄에 자물쇠의 길이 NN과 작업의 횟수 KK가 공백으로 구분되어 주어진다. (1≤N≤200 000;0≤K≤1 000 000)(1 \le N \le 200\ 000; 0 \le K \le 1\ 000\ 000)

두 번째 줄에 현재 자물쇠에 표시된 길이가 NN인 문자열 SS가 주어진다. SS는 알파벳 대문자로만 이루어져 있음이 보장된다.

출력

다이얼을 정확히 KK번 돌려 만들 수 있는 사전 순으로 가장 작은 문자열을 출력한다.

힌트

길이가 NN으로 같은 두 문자열 AA, BB에 대해 AA가 BB보다 사전 순으로 작음은 다음 조건을 만족하는 정수 ii가 존재함을 의미한다.

  • 1≤i≤N1 \le i \le N
  • 모든 1≤j<i1 \le j < i에 대해 Aj=BjA_j = B_j
  • Ai≠BiA_i \ne B_i이며 AiA_i가 알파벳 순서에서 BiB_i보다 먼저 등장한다.

예제2

  1. 예제 1

    입력
    4 3
    ABCD
    
    예상 출력
    ABCG
    
  2. 예제 2

    입력
    4 5
    XYZW
    
    예상 출력
    AAZW