| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 174 | 105 | 96 | 67.133% |
영과일에서 한 학기동안 문제를 열심히 푼 회원들을 추첨하여 상품을 지급하려고 한다.
각 회원들에겐 문제를 푼 개수만큼 추첨 확률을 높일 수 있는 가중치가 부여된다. 문제를 $p$개 풀었다면 그 회원의 가중치는 $p$이다.
한 학기 동안 문제를 푼 적이 있는 회원은 총 $N$명이고, 그러한 회원들에게 1ドル$번부터 $N$번까지의 고유 번호를 부여한다.
회원 $N$명중에서 $M(1 \leq M \leq N)$명을 뽑으려고 할 때, $i=1$부터 시작하여 다음과 같은 방식으로 추첨을 진행하려고 한다.
위 방식을 통해 뽑힌 당첨자의 고유 번호가 순서대로 주어졌을 때, 랜덤하게 나온 수가 차례대로 무엇일지 추측하려고 한다.
첫 번째 줄에 문제를 푼 회원수 $N$과 당첨인원수 $M$이 공백을 사이에 두고 주어진다. $(1 \leq N \leq 500,000円; 1 \leq M \leq N)$
두 번째 줄에 각 회원의 가중치 $p$가 공백을 사이에 두고 $N$개 주어진다. $(1 \leq p \leq 1,000円)$
세 번째 줄에 뽑힌 순서대로 회원의 번호 $k$가 공백을 사이에 두고 $M$개 주어진다. $(1 \leq k \leq N)$
입력에서 주어지는 수는 모두 정수이다.
추첨 과정을 통해 랜덤하게 나온 수열 $X$를 공백을 사이에 두고 출력한다.
만약 가능한 수열이 여러 개라면 아무 수열이나 하나 출력한다.
5 3 1 2 3 4 5 3 5 1
5 9 1