달아난 소들
면접 대비시간 제한1초메모리 제한128 MB
소들이 일직선 위 서로 다른 위치에 있고 존은 0에서 출발해 분당 한 단위씩 움직인다. 소마다 도착할 때까지 분당 1달러의 피해가 발생할 때 도착 시각의 합을 최소로 만든다.
문제
농부 John이 농장 울타리의 구멍을 고치는 것을 잊어버려서, 그가 기르는 마리의 소()가 탈출해 난동을 부리고 있다! 소 한 마리가 울타리 밖에 있는 매 1분마다 1달러의 피해가 발생한다. John은 각 소에게 찾아가 소를 진정시켜 피해를 멈추는 고삐(halter)를 채워야 한다.
다행히 소들은 농장 밖 도로의 직선 위 서로 다른 위치에 놓여 있다. John은 각 소 의 위치 (, )를 알고 있으며, 이 좌표는 John이 출발하는 정문(위치 0)을 기준으로 한다.
John은 1분에 거리 1만큼 이동하며 고삐는 즉시 채울 수 있다. John이 소들을 방문하는 순서를 잘 정하여 발생하는 총 피해 비용을 최소화하려고 한다. 이때 가능한 최소 총 피해 비용을 구하여라.
입력
- 첫째 줄: 소의 수 .
- 둘째 줄부터 째 줄까지: 째 줄에 정수 가 주어진다.
출력
- 첫째 줄: 발생하는 총 피해 비용의 최솟값.
힌트
각 소는 John이 고삐를 채우기 전까지 매 분 1달러씩 피해를 누적한다. 따라서 어떤 소의 피해 비용은 John이 그 소에 도착하는 시각(정문에서 출발한 뒤 지금까지 이동한 총 거리)과 같고, 전체 비용은 모든 소의 도착 시각의 합과 같다. John은 항상 이미 방문한 소들이 이루는 구간의 양 끝 중 한쪽에 있으므로, 방문한 소들의 집합은 언제나 위치 0을 포함하는 연속 구간을 이룬다.