만드는 중입니다

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

회사 문화 1

면접 대비

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

요약
각 직원의 직속 상사와 칭찬 목록이 주어질 때, 칭찬 값을 해당 직원의 모든 부하에게 그대로 전파하여 직원별로 받은 칭찬 총합을 출력한다.
난이도

보통10점 중 4점

유형
트리, DFS, 누적 합, 그래프
정답자
아직 제출이 없습니다

문제

영선회사에는 내리 칭찬이라는 문화가 있다. 상사가 직속 부하를 칭찬하면 그 부하는 자기 직속 부하를 다시 칭찬하고, 칭찬은 이런 식으로 아래로 계속 이어진다. 결국 어떤 직원이 칭찬을 받으면 그 직원 아래에 있는 모든 부하가 같은 칭찬을 받는다.

모든 칭찬에는 칭찬의 정도를 나타내는 수치가 있다. 칭찬이 아래로 전달될 때 이 수치도 그대로 전달된다.

직속 상사 관계와 최초의 칭찬 정보가 주어질 때, 직원마다 받은 칭찬 수치의 합을 구하라.

입력

첫째 줄에 직원 수 nn과 최초의 칭찬 횟수 mm이 주어진다. 직원은 11번부터 nn번까지 번호가 매겨져 있다. (2≤n,m≤100 0002 \le n, m \le 100\,000)

둘째 줄에 11번부터 nn번까지 각 직원의 직속 상사 번호가 차례로 주어진다. 직속 상사의 번호는 자기 번호보다 작다. 11번은 사장이라 상사가 없으므로 −1-1이 주어진다.

다음 mm개 줄에 직속 상사에게 칭찬을 받은 직원 번호 ii와 칭찬 수치 ww가 주어진다. (2≤i≤n2 \le i \le n, 1≤w≤1 0001 \le w \le 1\,000) 한 직원이 여러 번 칭찬을 받을 수도 있다.

사장은 상사가 없으므로 칭찬을 받지 않는다.

출력

11번 직원부터 nn번 직원까지 각자 받은 칭찬 수치의 합을 공백으로 구분해 한 줄에 출력한다.

예제5

  1. 예제 1

    입력
    5 3
    -1 1 2 3 4
    2 2
    3 4
    5 6
    
    예상 출력
    0 2 6 6 12
    
  2. 예제 2

    입력
    2 2
    -1 1
    2 5
    2 7
    
    예상 출력
    0 12
    
  3. 예제 3

    입력
    6 3
    -1 1 2 3 4 5
    2 1000
    6 1000
    2 1000
    
    예상 출력
    0 2000 2000 2000 2000 3000
    
  4. 예제 4

    입력
    8 4
    -1 1 1 1 1 1 1 1
    2 1
    3 2
    8 3
    2 4
    
    예상 출력
    0 5 2 0 0 0 0 3
    
  5. 예제 5

    입력
    10 6
    -1 1 1 2 2 3 3 4 4 5
    2 10
    4 5
    3 7
    9 1
    5 2
    2 3
    
    예상 출력
    0 13 7 18 15 7 7 18 19 15