몬스터 헌터
시간 제한1초메모리 제한512 MB
루트 트리에서 정점을 처치하는 비용은 자기 hp에 살아 있는 자식들의 hp를 더한 값이고, 마법으로 최대 m마리를 공짜로 처치할 수 있을 때 m=0부터 n까지 각각의 최소 총 전력을 구한다.
문제
정점이 개인 루트 트리가 있고 루트 정점은 번이다. 각 정점에는 몬스터가 한 마리씩 있다. 번 정점에 있는 몬스터의 체력은 이다.
Kotori는 모든 몬스터를 죽이려고 한다. 번 정점의 몬스터는 번 정점의 부모 정점에 있는 몬스터가 이미 죽어 있을 때만 죽일 수 있다. 번째 몬스터를 죽이는 데 필요한 힘은 와, 부모 정점이 번 정점인 정점 에 살아 있는 다른 모든 몬스터의 체력의 합이다. 정확히 말해 힘은 다음과 같다.
또한 Kotori는 마법을 사용할 수 있다. 마법을 한 번 사용하면 아무 제약 없이 아무 몬스터나 0의 힘으로 죽일 수 있다. 즉, 부모 정점의 몬스터가 살아 있어도 그 몬스터를 고를 수 있다.
각 에 대해, 마법을 번 사용할 수 있을 때 모든 몬스터를 죽이는 데 필요한 최소 총 힘을 각각 구하라.
입력
입력은 여러 테스트 케이스로 이루어진다. 입력의 첫 줄에는 테스트 케이스의 수를 나타내는 정수 가 주어진다. 각 테스트 케이스는 다음과 같다.
첫 줄에는 정점의 수를 나타내는 정수 이 주어진다 ().
둘째 줄에는 개의 정수 이 주어진다 (). 는 정점 의 부모 정점이다.
셋째 줄에는 개의 정수 이 주어진다 (). 각 몬스터의 체력이다.
모든 테스트 케이스의 의 합은 을 넘지 않는다.
출력
각 테스트 케이스마다 한 줄에 개의 정수 을 공백으로 구분해 출력한다. 은 Kotori가 마법을 번 사용할 수 있을 때 모든 몬스터를 죽이는 데 필요한 최소 총 힘이다.