방탈출
시간 제한1초메모리 제한64 MB
각 위치에서 시작하는 가장 긴 증가 부분 수열의 길이가 주어질 때, 이를 만족하는 가장 사전순으로 작은 순열을 구한다.
문제
방탈출 카페의 어느 방에는 이런 퀴즈가 있다. 자물쇠의 비밀번호는 길이가 인 순열이다. 길이가 인 순열은 서로 다른 양의 정수 개로 이루어진 수열이고, 각 원소는 이하이다.
힌트로 수열 가 주어진다. 위치 에서 시작하는 가장 긴 증가 부분 수열의 길이가 이다. 즉, 위치 를 첫 원소로 삼아 인덱스가 커지는 순서로 값도 커지도록 고른 부분 수열 중 가장 긴 것의 길이가 이다.
조건을 만족하는 순열이 여럿일 수 있으므로 그중 사전순으로 가장 앞서는 것을 구한다. 순열 가 순열 보다 사전순으로 앞선다는 것은, 이면서 인 모든 에 대해 인 인덱스 가 있다는 뜻이다. 조건을 만족하는 순열은 적어도 하나 존재한다.
입력
첫째 줄에 정수 ()이 주어진다.
둘째 줄에 정수 ()이 공백으로 구분되어 주어진다.
조건을 만족하는 순열이 적어도 하나 존재함이 보장된다.
출력
조건을 모두 만족하는 순열 중 사전순으로 가장 앞서는 것을 한 줄에 출력한다. 원소는 공백으로 구분한다.