만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

전차 경주

시간 제한8초메모리 제한1024 MB

요약
체크포인트 v1부터 vk까지 순서대로 방문하고 v1로 돌아오는 경로의 최소 시간을 구합니다. 교차로에서 방향을 바꾸는 시간도 포함합니다.
난이도

어려움10점 중 8점

유형
최단 경로, 동적 계획법, 기하, 그래프
정답자
아직 제출이 없습니다

문제

아레나에서 검투사 경기가 열린 뒤, 그랜드마스터는 두 번째 종목으로 로봇 전차 경주를 도입하기로 했다. 경주 트랙에는 여러 교차로가 있고, 교차로들은 곧은 도로 구간으로 이어져 있다. 구간끼리는 교차하지 않지만 끝점을 공유할 수 있다.

토르는 경주에서 이길 수 있는 경로를 짜고 있다. 경주는 교차로 v1v_1에서 시작해 교차로 v2,…,vkv_2, \dots, v_k를 이 순서대로 방문한 뒤 v1v_1로 돌아온다. 같은 교차로가 목록에 여러 번 나올 수 있지만, 모든 1≤i<k1 \le i < k에 대해 vi≠vi+1v_i \ne v_{i+1}이고 vk≠v1v_k \ne v_1이다. 이동 중 전차는 곧은 구간을 일정한 속도로 달린다. 교차로에 도착하면 전차는 즉시 멈추고 다음 교차로 방향으로 회전한다. 도착한 순간 전차는 경로상 직전 교차로에서 현재 교차로로 향하는 벡터의 방향을 보고 있다. 그다음 다음 교차로를 향할 때까지 시계 방향이나 반시계 방향으로 돈다. 다음 교차로를 향하면 전차는 다시 달린다.

토르는 전차가 1미터를 가는 데 aa초가 걸리고, 축을 중심으로 한 바퀴 도는 데 bb초가 걸린다고 추정했다. 그는 경주를 끝내는 데 필요한 최소 시간을 알고 싶어 한다. 경주는 어느 방향을 향한 채로 시작하고 끝내도 된다.

입력

첫 줄에 정수 nn, mm, kk, aa, bb가 주어진다. 각각 교차로 수, 교차로를 잇는 구간 수, 경로의 체크포인트 수, 전차가 1미터를 가는 데 걸리는 초, 축을 중심으로 한 바퀴 도는 데 걸리는 초다 (2≤n≤80002 \le n \le 8000, 0≤m≤3n0 \le m \le 3n, 2≤k≤502 \le k \le 50, 1≤a,b≤1091 \le a, b \le 10^9).

다음 nn개 줄에는 ii번째 교차로의 좌표 xix_i, yiy_i가 미터 단위로 주어진다 (−1000≤xi,yi≤1000-1000 \le x_i, y_i \le 1000).

다음 mm개 줄에는 ii번째 구간이 잇는 두 교차로 번호 aia_i, bib_i가 주어진다 (1≤ai,bi≤n1 \le a_i, b_i \le n, ai≠bia_i \ne b_i). 그래프에는 자기 루프와 중복 간선이 없다. 어느 교차로에서든 다른 모든 교차로로 갈 수 있고, 두 구간은 끝점을 제외하고 만나지 않는다. 구간의 끝점이 다른 구간 위에 놓이는 경우도 없다.

마지막 줄에는 체크포인트에 해당하는 교차로 번호 v1,…,vkv_1, \dots, v_k가 주어진다. 연속한 두 체크포인트가 같은 교차로에 있는 경우는 없다.

출력

레이스를 끝내는 데 필요한 최소 시간을 한 개의 수로 출력한다. 절대 오차 또는 상대 오차가 10−610^{-6} 이하이면 정답으로 인정한다.

예제2

  1. 예제 1

    입력
    2 1 2 1 1
    0 0
    1 1
    1 2
    2 1
    
    예상 출력
    3.328427124746190
    
  2. 예제 2

    입력
    3 2 3 1 4
    0 0
    1 0
    1 1
    1 2
    2 3
    2 3 1
    
    예상 출력
    9.000000000000000