농부 존의 가장 좋아하는 순열
시간 제한2초메모리 제한1024 MB
양 끝에서 원소를 제거하며 남긴 힌트 수열이 주어질 때, 이를 만족하는 사전순으로 가장 작은 순열을 구하거나 불가능하면 -1을 출력합니다.
문제
농부 존은 길이가 인 순열 를 가지고 있다 (). 에는 1부터 까지의 정수가 각각 정확히 한 번씩 들어 있다. 농부 네이치가 헛간에 침입해 를 분해해 버렸다. 너무 가혹하게 굴지 않으려고 네이치는 존이 를 복원하는 데 도움이 될 힌트를 몇 개 적어 두었다. 에 원소가 두 개 이상 남아 있는 동안 네이치는 다음을 수행한다.
에 남은 원소를 이라 하자.
- 이면 를 적고 을 순열에서 뺀다.
- 그렇지 않으면 을 적고 을 순열에서 뺀다.
마지막에 네이치는 개의 정수 을 이 순서대로 적게 된다. 존은 가 주어졌을 때 이 힌트와 일치하는 사전순으로 가장 작은 를 복원하고 싶어 한다. 일치하는 가 없다면 네이치가 실수한 것이다.
입력
입력은 개의 독립된 테스트 케이스로 구성된다 (). 각 테스트 케이스는 두 줄이다. 첫 줄에는 이 주어진다. 둘째 줄에는 개의 정수 ()이 주어진다.
출력
테스트 케이스마다 한 줄씩 총 줄을 출력한다. 와 일치하는 1부터 까지의 순열 가 있으면 사전순으로 가장 작은 를 출력한다. 없으면 을 출력한다.