컴소인의 크리스마스

시간 제한2초메모리 제한1024 MB

요약
각 문제마다 s_i번 틀린 뒤 맞는 제출을 하고, 모든 제출 결과가 맞았습니다!!로 시작해 번갈아 나타나도록 문제 순서를 정한다.
난이도

보통10점 중 5점

유형
그리디, 정렬, 구현
정답자
아직 제출이 없습니다

문제

컴퓨터소프트웨어학부에는 크리스마스마다 백준 제출 현황을 크리스마스트리처럼 꾸미는 전통이 있다. 구체적으로, 어떤 날의 제출을 모두 모았을 때 다음 조건을 전부 만족한다면 그날의 제출이 크리스마스트리처럼 꾸며졌다고 정의한다.

  • 모든 제출의 채점 결과는 맞았습니다!! 또는 틀렸습니다 중 하나이다.
  • 제출을 시간순으로 나열했을 때, 첫 번째 제출의 채점 결과는 맞았습니다!!이다.
  • 첫 번째가 아닌 제출의 채점 결과는 바로 이전 제출의 결과와 다르다. 예를 들어, 두 번째 제출의 채점 결과는 틀렸습니다, 세 번째 제출은 맞았습니다!!, ⋯\cdots 이다.

아람이는 크리스마스에 NN개의 문제를 모두 풀 것이다. NN개의 문제에는 각각 11부터 NN까지의 자연수 번호가 하나씩 매겨져 있다. 아람이는 문제를 풀 때 다음 조건을 반드시 지킨다.

  • 채점 결과가 맞았습니다!! 또는 틀렸습니다인 코드만 제출한다.
  • 한 번 푼 문제에는 다시 제출하지 않는다.

컴소의 전통을 지키기 위해, 아람이는 크리스마스 날 자신의 제출 현황을 크리스마스트리처럼 꾸미고 싶다. 전지전능한 참가자 여러분은 아람이가 각 문제를 몇 번 틀린 뒤 맞히는지 정확히 알 수 있다. 아람이를 위해 NN개의 문제에서 모두 맞았습니다!!를 받으면서 제출 현황을 크리스마스트리처럼 꾸밀 수 있는지, 가능하다면 어떤 순서로 제출해야 하는지 알려 주는 프로그램을 작성해 보자.

입력

첫째 줄에 아람이가 풀 문제 개수 NN이 주어진다. (1≤N≤200,000)(1\leq N\leq 200\\, 000)

둘째 줄부터 NN개의 정수 s_1,s_2,⋯ ,s_Ns\_1,s\_2,\cdots ,s\_N이 한 줄에 하나씩 주어진다. s_is\_i는 아람이가 ii번 문제를 s_is\_i번 틀린 뒤 해결하게 된다는 의미이다. 즉, 아람이는 ii번 문제에 최대 s_i+1s\_i+1번 제출할 수 있으며, 그중 s_i+1s\_i+1번째 제출에서 맞았습니다!!를 받고 나머지 제출에서는 틀렸습니다를 받을 것이다. (0≤s_i≤109)(0\le s\_i\le 10^9)

출력

첫째 줄부터 2×N−12\times N-1개의 줄에 걸쳐 아람이가 제출해야 하는 문제 번호를 한 줄에 하나씩 제출 시간순으로 출력한다. 가능한 순서가 여러 가지라면 아무거나 출력한다.

만약 크리스마스트리처럼 꾸밀 수 없다면 첫째 줄에 -1을 출력한다.

예제3

  1. 예제 1

    입력
    2
    1
    0
    
    예상 출력
    2
    1
    1
    
  2. 예제 2

    입력
    2
    2
    0
    
    예상 출력
    -1
    
  3. 예제 3

    입력
    5
    0
    0
    1
    2
    1
    
    예상 출력
    2
    4
    1
    5
    5
    3
    3
    4
    4