이중 레이더
시간 제한1초메모리 제한2048 MB
두 레이더를 피하면서 원형으로 놓인 k개의 집에서 시작점을 고르고 속도 v로 이동할 때, 훔칠 수 있는 코인 가치 합의 최댓값을 구합니다.
문제
Ali는 최근 보물을 발견했고, 그 보물에 있던 코인들을 원형으로 배열했습니다. 원 둘레에는 간격이 같은 개의 집이 있습니다. 집은 시계 방향으로 부터 까지 차례로 번호가 매겨져 있습니다. 보물에는 개의 코인이 있으며, 번째 코인()의 가치는 이고 집 에 놓여 있습니다. 보물을 지키기 위해 Ali는 원의 중심에 레이더 두 대를 설치해 둘레를 감시하고 있습니다. 레이더 ()는 집 를 감시하면서 출발하고, 1분에 집씩 움직입니다. 쉽게 말해 분마다 레이더 가 한 집 앞으로 나아갑니다. 처음에 첫 번째 레이더는 시계 방향으로, 두 번째 레이더는 반시계 방향으로 움직입니다. 두 레이더가 만날 때마다 둘 다 방향을 반대로 바꿉니다. 이 만남은 인접한 두 집 사이의 구간에서도 일어날 수 있습니다. 가능한 한 많은 코인을 훔치려는 Gholi는 원 위의 임의의 집에서 출발하여, 시계 방향이든 반시계 방향이든 1분에 최대 집까지 움직이려 합니다. 그는 시각 0에 움직이기 시작합니다. 언제든 방향을 바꾸거나 잠시 멈출 수 있습니다. Gholi가 어느 순간이든 레이더 중 하나와 엇갈리면 바로 잡혀 감옥에 갇힙니다. 그 엇갈림이 집에서 일어나면 그 코인은 훔칠 수 없습니다. 레이더에게 들키기 전에 훔칠 수 있는 코인 가치의 합을 최대로 구하세요.
입력
첫 줄에는 세 정수 (, 코인의 개수), (, 원 둘레의 집 개수), (, Gholi의 속력)가 주어집니다. 둘째 줄에는 첫 번째 레이더의 시작 감시 집 과 속력 이 주어집니다(, ). 셋째 줄에는 두 번째 레이더의 시작 감시 집 와 속력 가 주어집니다(, ). 가 보장됩니다. 넷째 줄에는 코인이 놓인 집 이 서로 다른 정수로 주어집니다(). 다섯째 줄에는 각 코인의 가치 이 주어집니다().
출력
레이더에게 들키기 전에 Gholi가 훔칠 수 있는 코인 가치 합의 최댓값을 출력하세요.