만드는 중입니다

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

B Road Band

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

요약
두 평행한 도로에 있는 고객 위치와 도로 사이 거리가 주어질 때, 중앙선에 접속점 k개를 놓아 각 고객에서 가장 가까운 접속점까지 거리 제곱의 합을 최소로 만드는 값을 구합니다.
난이도

보통10점 중 6점

유형
동적 계획법, 정렬, 누적 합
정답자
아직 제출이 없습니다

문제

Axes Point 농촌 공동체의 주민은 모두 녹지 공원 띠로 나뉜 두 평행한 도로 중 한 곳에 산다. 최근 지역 감독위원회가 마을에 무선 통신 서비스를 설치하려고 보조금을 받았다. 이 보조금으로 접속 지점 kk개를 설치할 수 있으며, 감독위원회는 두 주거 도로의 정중앙, 숲이 우거진 띠에 있는 B번 군도로 위에 접속 지점을 일직선으로 배치하기로 했다. 각 사용자와 가장 가까운 접속 지점 사이의 거리가 가능한 한 짧아지도록 배치하려 한다. 구체적으로는 각 사용자와 가장 가까운 접속 지점까지 거리의 제곱을 모두 더한 값을 최소로 만든다.

그림은 고객 여덟 명과 각 고객의 도로상 위치를 보여 주는 두 도로다. 두 도로는 33 단위 떨어져 있고, 접속 지점 두 개는 두 도로의 정중앙에 놓여 여덟 개의 거리 제곱합이 최소가 되도록 배치되어 있다.

각 도로를 따라 있는 모든 고객의 위치, 두 도로 사이의 거리, 접속 지점의 개수가 주어졌을 때, 달성할 수 있는 거리 제곱합의 최솟값을 구하라.

입력

첫 줄에 정수 mm, nn, kk, ss가 주어진다. mm과 nn(1≤m,n≤10001 \leq m,n \leq 1000)은 각 도로를 따라 있는 고객 수이고, kk(1≤k≤min⁡(max⁡(m,n),100)1 \leq k \leq \min(\max(m,n),100))는 설치할 접속 지점의 개수, ss(1≤s≤501 \leq s \leq 50)는 두 도로 사이의 거리다.

둘째 줄에는 첫 번째 도로를 따라 있는 고객의 위치 x1,x2,…,xmx_1, x_2, \ldots, x_m(0≤xi≤10000 \leq x_i \leq 1000)이 실수 mm개로 주어진다. 셋째 줄에는 두 번째 도로를 따라 있는 고객의 위치가 실수 nn개로 주어진다. 둘째 줄과 셋째 줄 각각의 값은 서로 다르지만, 두 줄에 같은 값이 함께 나타날 수 있다. 고객의 위치는 소수점 넷째 자리 이하다.

출력

각 고객과 가장 가까운 접속 지점 kk개 사이 거리의 제곱을 모두 더한 값의 최솟값을 실수 하나로 출력한다. 절대 오차 또는 상대 오차가 10−510^{-5} 이하이면 정답으로 인정한다.

예제1

  1. 예제 1

    입력
    4 4 2 3
    0.5 1.0 3.0 3.5
    1.0 2.5 3.0 3.5
    
    예상 출력
    18.86666667