어디로 갈까?
시간 제한2.5초메모리 제한1024 MB
정점마다 점수가 있고 R번째 이동마다 보너스가 붙는 그래프에서, 최대 K번 이동하는 경로의 최대 점수를 구합니다.
문제
개의 정점과 개의 간선으로 이루어진 무방향 그래프가 있다. 이 그래프에는 같은 정점을 잇는 간선이 없고, 두 정점을 잇는 간선은 최대 한 개다.
당신은 임의의 정점에서 출발해 인접한 정점으로 최대 번 이동한다. 이동하지 않는 것도 가능하다. 목표는 얻은 점수의 합을 최대화하는 것이다. 점수는 다음 규칙으로 정해진다.
- 초기 점수는 이다.
- 번 정점으로 이동하면 점수 를 받는다.
- 매 번째 이동마다 점을 추가로 받는다.
점수 합의 최댓값을 구하라.
입력
첫 번째 줄에 다섯 개의 정수 , , , , 가 공백으로 구분되어 주어진다. (; ; ; )
두 번째 줄부터 개의 줄에 간선 정보가 주어진다. 번째 줄에는 번째 간선이 잇는 두 정점 와 가 공백으로 구분되어 주어진다. (; )
그다음 줄에는 개의 정수 이 공백으로 구분되어 주어진다. ()
이동 횟수가 를 넘지 않는 어떤 이동 방식을 택하더라도 점수 합의 절댓값이 을 넘지 않는 입력만 주어진다.
출력
점수 합의 최댓값을 출력한다.