순열 복원
시간 제한1초메모리 제한512 MB
순열의 각 접두사에 증가하는 부분수열 개수 Q_i가 주어졌을 때, 원래 순열 P를 복원합니다.
문제
Ghiţă는 경쟁 프로그래밍을 아주 좋아한다. 그는 순열을 가지고 노는 일과 아내 Ana와 시간을 보내는 일을 즐긴다. 결혼 10주년에 Ana가 그에게 아주 아름다운 순열을 선물했다. 모든 ()에 대해 를 순열의 번째 원소라고 하자.
Ghiţă는 신이 나서 모든 ()에 대해 를 계산했다. 는 순열의 길이 인 앞부분에 있는 증가 부분 수열의 개수이다. 정확히는, 이고 를 만족하는 정수 배열 의 개수이다.
Ghiţă는 Q를 P 옆에 저장해 두었다. 이후 Lică Sămădăul이 순열을 훔쳐 갔고, Ghiţă에게는 배열 Q만 남았다. Q로부터 P를 복원하도록 도와라.
입력
첫 줄에 순열의 길이 이 주어진다. 둘째 줄에는 공백으로 구분된 이 주어진다.
출력
한 줄에 배열 P를 공백으로 구분해 출력한다.
제한
- 주어진 Q를 만드는 순열 P는 정확히 하나뿐임이 보장된다.
- .
- 입력 크기는 111 MB 미만이다.
- 입력을 읽는 부분의 실행 시간과 메모리 사용량을 따로 확인하라. 입력 읽기는 이 문제의 어려운 부분이 아니지만, 입력 처리가 느리면 풀이가 비효율적으로 보일 수 있다.
힌트
첫 번째 예제에서 이고 이다.
- 이다. 이 의 유일한 증가 부분 수열이다.
- 이다. 과 가 의 유일한 증가 부분 수열이다.
- 이다. , , , , 가 의 유일한 증가 부분 수열이다.
- 이다. , , , , , 이 의 유일한 증가 부분 수열이다.