인버전 조건을 만족하는 문자열 찾기
시간 제한2초메모리 제한512 MB
앞 N개 소문자를 한 번씩 쓴 순열 중에서 반전이 V개 이상이고 주어진 문자열 S보다 사전순으로 앞서지 않는 가장 작은 순열을 찾는다.
문제
길이가 인 문자열 에서 인버전의 개수는 이고 인 쌍 의 개수다. 문자열의 첫 글자는 0번째 글자다. 예를 들어 "abcab"의 인버전은 , , 의 세 개다.
정수 과 , 그리고 문자열 가 주어진다. 알파벳 소문자 처음 개를 각각 한 번씩 써서 만든 길이 의 문자열, 즉 그 개 글자의 순열 중에서 다음 두 조건을 모두 만족하는 것을 이라 한다.
- 의 인버전 개수가 이상이다.
- 이 보다 사전순으로 앞서지 않는다.
조건을 만족하는 중에서 사전순으로 가장 앞서는 문자열을 구하라.
입력
첫째 줄에 이 주어진다. ()
둘째 줄에 가 주어진다. ()
셋째 줄에 문자열 가 주어진다. 는 알파벳 소문자 처음 개 중 일부로 이루어지고, 같은 글자가 두 번 나오지 않는다. 의 길이는 1 이상 이하다.
출력
첫째 줄에 조건을 만족하는 을 출력한다. 조건을 만족하는 이 없으면 -1을 출력한다.