키 삽입
시간 제한1초메모리 제한512 MB
무한 배열에 Insert 연산을 N번 수행한 뒤, 마지막으로 채워진 칸까지의 배열 상태를 출력한다.
문제
매크로하드(Macrohard)사의 직원인 여러분은 정수 키를 저장하는 새로운 자료구조를 구현하라는 요청을 받았습니다.
키는 무한히 많은 칸을 가진 배열 처럼 동작하는 특별한 정렬된 컬렉션에 저장됩니다. 칸의 번호는 부터 시작하며, 처음에는 모든 칸이 비어 있습니다. 이 컬렉션은 다음 한 가지 연산 를 지원합니다. 여기서 은 칸의 번호이고 는 양의 정수입니다.
는 다음과 같이 재귀적으로 정의됩니다.
- 칸 이 비어 있으면 로 설정합니다.
- 칸 이 이미 채워져 있으면 먼저 을 수행한 뒤 로 설정합니다.
개의 번호 이 주어집니다. 비어 있는 배열에서 시작하여 , , , 을 순서대로 수행한 후 배열의 최종 상태를 출력하세요.
입력
첫째 줄에 두 정수 과 이 주어집니다. 은 Insert 연산의 개수, 은 연산에서 사용될 수 있는 가장 큰 칸 번호입니다 (, ).
둘째 줄에 수행할 연산을 나타내는 개의 정수 이 주어집니다 ().
출력
모든 연산을 수행한 후 배열의 내용을 출력합니다. 첫째 줄에 비어 있지 않은 칸 중 가장 큰 번호 를 출력합니다. 둘째 줄에 를 출력하며, 비어 있는 칸은 으로 나타냅니다.