시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 (추가 시간 없음) 1024 MB34523018565.836%

문제

국렬이는 1부터 N까지의 양의 정수로 이루어진 순열을 주어진 양의 정수 w1 ... , wN를 이용해서 무작위로 만들 것이다. 다음은 무작위로 순열을 만드는 방법이다.

  1. 1부터 N까지의 양의 정수 (1 ≤ ≤ N)를 연속적으로 wi개씩 배치한다.
  2. 현재 배치된 양의 정수의 총 개수를 W라고 하자. 1부터 W까지의 양의 정수들 중에서 균등하게 숫자 하나 pi를 선택한다.
  3. pi번째 수를 순열에 추가한다.
  4. 순열에 추가한 수들을 전부 지우고, 남은 수가 없을 때까지 2부터 4의 과정을 거친다.

w1부터 wN까지, p1부터 pN까지의 수가 주어졌을 때, 나오는 순열을 구해 보자.

입력

첫 번째 줄에는 (1 ≤ ≤ 200,000)이 주어진다.

두 번째 줄에는 1,000 이하의 양의 정수 w1부터 wN까지가 주어진다.

세 번째 줄에는 양의 정수 p1부터 pN까지가 주어진다. p1부터 pN까지로 수열을 만들 수 있는 경우만 주어진다.

출력

최종적으로 나오는 1부터 N까지 양의 정수들로 이루어진 수열을 구하자.

예제 입력 1

5
1 2 3 4 5
6 4 6 1 2

예제 출력 1

3 4 5 1 2

예제 입력 2

8
10 9 8 7 1 2 3 4
19 23 28 8 9 9 3 2

예제 출력 2

2 4 8 1 5 6 3 7

출처

Camp > ICPC Sinchon Algorithm Camp > 2020 ICPC Sinchon Summer Algorithm Camp Contest > 중급 D번