교육적인 트리 문제
시간 제한1초메모리 제한1024 MB
부모 조건을 만족하며 정점 k개를 골라 A값 합을 최대로 할 때, k가 1부터 N일 때의 최댓값을 각각 구한다.
문제
개의 정점을 가진 트리가 주어진다. 각 정점에는 번부터 번까지 번호가 중복 없이 주어지며, 번 정점은 트리의 루트이다.
이상 이하의 모든 정수 에 대해서, 번 정점의 부모 정점은 번 정점이다.
이 트리의 번 정점에는 정수 가 적혀 있다. 또한, 라는 특수한 성질을 만족한다. 우리는 이 트리에서 몇 개의 정점을 선택하여, 선택된 정점들에 적혀있는 정수들의 합을 최대화하고 싶다. 이때 선택된 모든 정점은 번 정점이거나, 자신의 부모 정점 또한 선택되어 있어야 한다.
선택할 정점들의 수에 따라 문제의 정답을 구해보자.
입력
첫째 줄에 정수 이 주어진다.
둘째 줄에 정수로 이루어진 수열 이 공백으로 구분되어 주어진다.
셋째 줄에 정수로 이루어진 수열 이 공백으로 구분되어 주어진다.
출력
첫째 줄부터 개의 줄에 걸쳐 번째 줄에는 개의 정점을 선택했을 때의 정답을 출력한다.