시계 장치
면접 대비시간 제한1초메모리 제한1024 MB
각 시계가 1시부터 12시 중 하나를 가리키는 트리에서, 전선을 끊는 비용 C를 고려해 12시로 맞출 수 있는 시계들의 보수 합에서 자른 전선 수 곱하기 C를 뺀 값이 최대가 되도록 전선을 자른다.
문제
셀레스트 산에는 번부터 번까지 번호가 붙은 개의 시계 장치가 있다. 이 시계 장치들은 개의 전선을 통해 모두 서로 연결되어 있다. 각 시계 장치는 시부터 시까지 총 가지 중 하나의 시각을 가리킬 수 있다.
시계 장치에는 태엽이 있어, 전선을 통해 연결된 모든 시계 장치의 시간을 한 시간 단위로 돌릴 수 있다. 이때 시에서 시간이 지나면 시가 된다. 두 시계가 전선을 통해 연결되어 있다는 것은 하나 이상의 전선을 거쳐 한 시계에서 다른 시계까지의 경로가 존재한다는 뜻이다.
현재 시각은 시이다. 하지만 현재 번째 시계 장치는 시를 가리키고 있다. 만약 번째 시계 장치가 시를 가리키게 맞출 수 있다면, 당신은 그 시계 장치를 올바르게 맞춘 보수로 금화 개를 받는다.
처음에 시계 장치들은 모두 연결되어 있으므로, 모든 시계 장치들은 똑같이 돌아간다. 당신은 더 많은 시계를 올바르게 맞추기 위해 전선을 원하는 만큼 끊을 수 있다. 그러나, 하나의 전선을 끊을 때마다 받는 보수는 금화 개만큼 줄어든다.
당신이 보수로 받을 수 있는 금화의 최대 개수는 몇 개일까?
입력
첫 번째 줄에 시계 장치의 수 과 전선을 끊는 데 드는 비용 가 주어진다.
두 번째 줄에 현재 시계 장치가 가리키고 있는 시각 가 차례대로 주어진다. ()
세 번째 줄에 시계 장치를 올바르게 맞추었을 때의 보수 가 차례대로 주어진다. ()
그 다음 개의 줄에 시계 장치를 잇는 전선의 번호 와 가 차례로 주어진다. ()
이는 번 시계 장치와 번 시계 장치가 전선으로 이어져 있다는 뜻이다.
출력
첫 번째 줄에 당신이 벌어들일 수 있는 금화의 최대 개수를 출력한다.
제한
- ()
- ()
- ()