아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

폴 포지션

면접 대비

시간 제한1초메모리 제한128 MB

요약
현재 순위와 각 차의 순위 변화량이 주어졌을 때, 출발 그리드를 복원하거나 가능한 그리드가 없으면 -1을 출력한다.
난이도

보통10점 중 5점

유형
배열, 정렬, 구현, 해시맵
정답자
아직 제출이 없습니다

문제

자동차 경주에서는 트랙의 결승선 옆에 항상 높은 기둥(폴)이 서 있습니다.

경주가 시작되기 전, 폴에는 출발 그리드가 표시됩니다. 그리드에서 1위 자리 자동차의 번호가 폴 맨 위에 표시되고, 2위 자리 자동차의 번호가 그 아래에, 이런 식으로 순서대로 표시됩니다.

경주 중에는 폴에 현재 순위가 표시됩니다. 현재 선두인 자동차의 번호가 맨 위에, 2위인 자동차가 그 아래에, 이런 식으로 이어집니다.

폴은 각 자동차의 현재 순위뿐 아니라, 자동차 번호 옆에 정수 하나를 함께 표시하여 그 자동차가 출발 그리드와 비교해 몇 순위를 올렸는지(또는 내렸는지)를 나타냅니다.

  • 자동차 번호 옆의 양수 vv는 그 자동차가 출발 그리드 대비 vv 순위 상승했음을 뜻합니다.
  • 음수 vv는 그 자동차가 출발 그리드 대비 ∣v∣|v| 순위 하락했음을 뜻합니다.
  • 00은 그 자동차가 출발했을 때와 정확히 같은 순위에 있음을 뜻합니다.

지금은 월드 챔피언십의 마지막 경주인 스웨디시 그랑프리 도중입니다. 경기 감독인 슈 마크라(Dr. Shoo Makra) 박사는 걱정에 빠졌습니다. 폴을 제어하는 소프트웨어에 결함이 있어 실제 경주 순서와 맞지 않는 정보를 표시하고 있다는 불평이 있었기 때문입니다.

폴을 점검하기 위해, 슈 마크라 박사는 현재 폴에 표시된 정보로부터 출발 그리드를 복원하려고 합니다. 유효한 출발 그리드를 복원할 수 있으면 실제 출발 그리드와 비교해 볼 수 있고, 복원할 수 없다면 폴 소프트웨어에는 확실히 결함이 있는 것입니다.

폴은 자동차를 위에서 아래로 나열하므로, 나열된 ii번째 자동차는 현재 ii위에 있습니다. 이 목록이 주어질 때 출발 그리드를 복원하거나, 복원이 불가능함을 판정하세요.

슈 마크라 박사를 도와줄 수 있나요?

입력

입력은 여러 개의 테스트 케이스로 이루어집니다.

각 테스트 케이스의 첫 줄에는 경주에 참가한 자동차의 수를 나타내는 정수 NN이 주어집니다 (2≤N≤1032 \le N \le 10^3).

이어지는 NN개의 줄에는 각각 공백 하나로 구분된 두 정수 CC와 PP가 주어집니다. CC는 자동차 번호(1≤C≤1041 \le C \le 10^4)이고, PP는 폴에 표시된 대로 그 자동차가 출발 그리드 대비 상승(양수) 또는 하락(음수)한 순위 수(−106≤P≤106-10^6 \le P \le 10^6)입니다. 이 줄들은 폴에 표시된 순서대로 주어지므로, ii번째 줄은 현재 ii위에 있는 자동차를 나타냅니다. 한 경주 안의 모든 자동차 번호는 서로 다릅니다.

입력의 끝은 00 하나만 있는 줄로 표시됩니다.

출력

각 테스트 케이스마다 복원한 출발 그리드를 한 줄에 출력합니다. 출발 그리드 순서(1위 자리부터)대로 자동차 번호를 공백 하나로 구분하여 출력하세요.

유효한 출발 그리드를 복원할 수 없다면, −1-1 만 있는 한 줄을 출력하세요.

예제1

  1. 예제 1

    입력
    4
    1 0
    3 1
    2 -1
    4 0
    4
    22 1
    9 1
    13 0
    21 -2
    3
    19 1
    9 -345
    17 0
    7
    2 2
    8 0
    5 -2
    7 1
    1 1
    9 1
    3 -3
    0
    
    예상 출력
    1 2 3 4
    -1
    -1
    5 8 2 3 7 1 9