상사 배정과 최소 급여
시간 제한1.5초메모리 제한256 MB
n명의 직원 위에, 각 직원이 받아들이는 상사를 부모로 하는 루트 트리를 세우고, 모든 상사가 자식 급여 합보다 크도록 최소 급여를 배정한다.
문제
직원 명이 일하는 회사가 조직을 개편한다. 개편 결과는 뿌리가 있는 트리 하나로 나타나며, 각 노드는 자기 자식의 상사가 된다.
직원마다 상사로 받아들일 수 있는 직원 목록이 정해져 있다. 또 모든 직원에게 급여를 정해 주어야 한다. 급여는 양의 정수이고, 상사의 급여는 자기 직속 부하의 급여 합보다 커야 한다.
위 조건을 모두 만족하는 조직도 가운데 급여 총합이 가장 작은 것을 찾아라.
입력
첫째 줄에 직원 수 이 주어진다. 직원은 번부터 번까지 번호가 붙어 있다.
이어서 개의 줄에 각 직원의 선호가 주어진다. 그중 번째 줄에는 정수 가 먼저 오고, 그 뒤에 정수 개가 온다. 이 정수는 번 직원이 상사로 받아들이는 직원의 번호이다.
이고 의 합은 이하이다. 한 줄에 오는 번호는 서로 다르며 자신은 오지 않는다.
출력
조건을 만족하는 모든 조직도 가운데 가장 작은 급여 총합을 한 줄에 출력한다. 조건을 만족하는 조직도가 적어도 하나 있다고 가정해도 된다.