돌의 정령 줄세우기

아직 제출이 없습니다시간 제한2.5초메모리 제한1024 MB

문제

아케인리버에 서식하는 돌의 정령은 무리를 지어 활동하는 경향이 있다. 이때, 어느 돌의 정령 무리의 키는 돌의 정령들이 쌓인 구조의 층수라고 한다.

키가 3인 돌의 정령 무리이다.

키가 7인 돌의 정령 무리이다.

오른쪽을 바라보고 있는 11부터 NN까지의 서로 다른 키를 가진 NN개의 돌의 정령 무리가 있다. 이때, 돌의 정령들은 자신이 속한 무리보다 키가 큰 돌의 정령 무리 너머를 볼 수 없다. 만약 ii번째 위치에 있는 돌의 정령이 jj번째 돌의 정령 무리까지 볼 수 있다면, ii번째 무리의 '시야 점수'는 jij-i로 정의한다. 만약 앞에 자신보다 키가 큰 무리가 존재하지 않는다면 시야 점수는 10910^9으로 정의한다. 

아케인리버를 탐험하고 있는 여러분은 크기 NN의 배열 AA를 받아, 만약 A_iA\_i가 음수라면, ii번째 위치의 무리의 시야점수는 A_i-A\_i 이하이고, A_iA\_i가 양수라면 ii번째 무리의 시야점수는 A_iA\_i 이상이도록 돌의 정령 무리를 배치하라는 퀘스트를 받았다.

퀘스트를 완료할 수 있도록 돌의 정령 무리를 배치해보자. 만약 가능한 경우가 여러 개 있다면 어떤 방법을 선택해도 좋다.

입력

첫째 줄에 돌의 정령 무리의 수 NN이 주어진다. (1N70,0001 \leq N \leq 70,000)

둘째 줄에 시야점수의 제한을 나타내는 크기 NN의 배열 AA가 주어진다. (NA_iN-N \leq A\_i \leq N, A_i0A\_i \neq 0)

출력

조건을 만족하는 배치가 있다면, 돌의 정령 무리들의 키를 나타내는 배열을 한 줄에 출력한다. 배열의 ii번째 수는 왼쪽에서 ii번째에 놓인 돌의 정령 무리의 키와 같아야 한다. 조건을 만족하는 배치가 여러 개라면, 아무 배치나 출력하여라. 조건을 만족하는 배치가 없다면 -1을 출력한다.