만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

세과영엔 슬픈 전설이 있어

면접 대비

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

요약
각 날의 최소 금액 A_i 이상이 되도록 N개의 주머니를 날마다 하나씩 배정하고, 불가능하면 -1을 출력합니다.
난이도

쉬움10점 중 3점

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

문제

세종이는 영재에게 빌려준 돈을 아직도 받지 못했다. 세종이는 영재에게 돈을 갚으라고 여러 번 독촉했지만, 안타깝게도 영재는 세종이의 말을 알아듣지 못하는 것 같다. 그래서 세종이는 영재에게 마지막 유예 기간 NN일을 주었다. 영재는 이 NN일 동안 빌린 돈을 모두 갚아야 한다.

세종이와 영재에게는 특이한 규칙이 있다. 세종이는 ii일째 되는 날에 AiA_i만큼 분노한다. 만약 ii일에 세종이가 AiA_i원 이상의 돈을 받지 못한다면 세종이는 영재에게 분노를 표출하게 된다. 영재는 자신이 가진 돈을 NN개의 자루에 나누어 담아 세종이에게 하루에 한 자루씩 주려고 한다.

세종이가 받아야 하는 최소 금액과 영재가 자루에 나눠 담은 금액이 주어졌을 때, 영재가 세종이의 분노를 피해 빚을 갚는 방법을 찾는 프로그램을 작성하시오.

입력

첫째 줄에 유예 기간의 날짜 수 NN이 주어진다. (1≤N≤200 000)(1 \leq N \leq 200\,000)

둘째 줄에 양의 정수 A1,A2,⋯ ,ANA_1, A_2, \cdots, A_N이 공백으로 구분되어 주어진다. AiA_i는 ii일째에 세종이가 받아야 하는 최소 금액이다. (1≤Ai≤108)(1 \leq A_i \leq 10^{8})

셋째 줄에 양의 정수 B1,B2,⋯ ,BNB_1, B_2, \cdots, B_N이 공백으로 구분되어 주어진다. BjB_j는 영재가 jj번째 자루에 담은 금액이다. (1≤Bj≤108)(1 \leq B_j \leq 10^{8})

∑i=1NAi≤2×109\sum_{i=1}^{N} A_i \leq 2 \times 10^{9}이고, ∑j=1NBj≤2×109\sum_{j=1}^{N} B_j \leq 2 \times 10^{9}이다.

출력

1일부터 NN일까지 각 날에 영재가 지불해야 하는 금액을 공백으로 구분해 출력한다.

빚을 갚는 것이 불가능해 세종이가 분노를 표출하게 된 경우에는 대신 -1을 출력한다.

가능한 답이 여러 가지라면 그 중 아무거나 하나만 출력한다.

예제2

  1. 예제 1

    입력
    5
    1 2 3 4 5
    7 3 2 5 4
    
    예상 출력
    2 3 4 5 7
    
  2. 예제 2

    입력
    3
    1 3 10000
    9999 9999 9999
    
    예상 출력
    -1