맛집 추천
시간 제한3초메모리 제한1024 MB
트리 형태의 도시에서 배달 범위가 겹치지 않는 식당을 골라 선호도 합의 최댓값을 구합니다.
문제
KOI나라에는 개의 도시가 있다. 각 도시에는 1번부터 번까지의 번호가 붙어 있다.
KOI나라의 도로망은 도시를 정점으로, 도로를 양방향 간선으로 나타내면 트리가 된다. 트리는 사이클이 없는 연결 그래프이다.
맛집은 모두 개이며, 1번부터 번까지 번호가 붙어 있다. 맛집이 없는 도시도 있고, 맛집이 두 개 이상 있는 도시도 있다.
번 맛집()은 번 도시에 있고, 배달 가능 거리는 , 고객 선호도는 이다. 번 맛집은 번 도시에서 개 이하의 도로를 거쳐 갈 수 있는 도시에만 배달할 수 있다. 를 번 맛집이 배달할 수 있는 도시의 집합이라고 하자. 여기서 는 번 도시와 번 도시 사이의 최단 경로 길이, 즉 두 도시 사이를 이동하는 데 거쳐야 하는 도로의 최소 개수이다.
당신은 배달 앱의 운영자이다. 서비스가 겹치지 않도록, 개의 맛집 중에서 다음 조건을 만족하는 맛집의 집합 를 고르려고 한다. 어느 도시도 에 속한 두 개 이상의 맛집의 배달 가능 집합에 동시에 속하지 않아야 한다. 즉, 에 속한 서로 다른 두 맛집 와 에 대해 이다.
조건을 만족하는 집합 중에서 선호도의 합이 가장 큰 집합을 찾아, 그때의 선호도 합을 출력하라.
입력
첫 번째 줄에 두 정수 과 이 공백 하나를 사이에 두고 주어진다.
다음 개의 줄에는 도시 사이의 길을 나타내는 두 정수 와 가 공백 하나를 사이에 두고 주어진다.
다음 개의 줄에는 맛집 정보가 주어진다. 번째 줄()에는 세 정수 , , 가 공백 하나를 사이에 두고 주어진다.
출력
첫 번째 줄에 조건을 만족하는 집합 중 선호도 합의 최댓값을 출력한다.
제한
- 주어지는 모든 수는 정수이다.
- 모든 ()에 대해 ,