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

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

백설공주와 nn명의 난쟁이

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

요약
잠든 드워프가 모두 동시에 자는 순간이 생기도록 순서를 정해 출력하고, 불가능하면 -1을 출력한다.
난이도

보통10점 중 6점

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

문제

<<난쟁이들이 아니라 정말 재앙이야!>>, 백설공주는 난쟁이들을 또 한 번 재우려다 그렇게 생각했다. 한 명을 재우면 다른 한 명이 벌써 깨어난다! 밤새도록 그 짓이다.

백설공주에게는 nn명의 난쟁이가 있고, 모두 성격이 아주 다르다. 그녀는 ii번째 난쟁이를 재우는 데 aia_i분이 걸리고, 그 뒤 난쟁이는 정확히 bib_i분 동안 잠든다는 것을 알고 있다. 백설공주가 모든 난쟁이가 잠들어 있는 동안 적어도 1분은 쉴 수 있는지, 쉴 수 있다면 그렇게 만들기 위해 어떤 순서로 난쟁이들을 재워야 하는지 구해 주자.

예를 들어 난쟁이가 둘뿐이고 a1=1a_1 = 1, b1=10b_1 = 10, a2=10a_2 = 10, b2=20b_2 = 20이라고 하자. 백설공주가 첫 번째 난쟁이부터 재우기 시작하면, 그다음 두 번째 난쟁이를 재우는 데 무려 10분이 걸리고, 그 사이에 첫 번째 난쟁이가 깨어난다. 반대로 두 번째 난쟁이부터 시작하면 그 뒤 첫 번째 난쟁이를 재울 수 있고, 무려 10분을 쉴 수 있다.

입력

첫째 줄에는 nn이 주어진다 (1≤n≤1051\le n\le 10^5). 둘째 줄에는 a1,a2,…,ana_1,a_2,\ldots,a_n이, 셋째 줄에는 b1,b2,…,bnb_1,b_2,\ldots,b_n이 주어진다 (1≤ai,bi≤1091\le a_i, b_i\le 10^9).

출력

난쟁이들을 재워야 하는 순서를 나타내는 nn개의 수를 출력한다. 백설공주가 쉴 수 없다면 −1-1을 출력한다.

예제2

  1. 예제 1

    입력
    2
    1 10
    10 20
    
    예상 출력
    2 1
    
  2. 예제 2

    입력
    2
    10 10
    10 10
    
    예상 출력
    -1