정원 조경
시간 제한2초메모리 제한512 MB
N개 화단의 흙 양을 목표치에 맞추도록 운반, 구매, 제거를 조합해 총비용을 최소화합니다.
문제
농부 존이 정원을 새로 꾸미려고 한다. 그 과정에서 많은 양의 흙을 옮겨야 한다.
정원은 화단 개가 일렬로 놓인 모양이다 (). 처음에 번 화단에는 흙이 단위 들어 있다. 존은 작업이 끝났을 때 번 화단에 흙이 정확히 단위 있도록 정원을 다시 만들고 싶다. 와 는 모두 이상 이하의 정수다.
존이 쓸 수 있는 방법은 세 가지다.
- 흙 단위를 사서 원하는 화단에 넣는다. 비용은 다.
- 원하는 화단에서 흙 단위를 파내 실어 보낸다. 비용은 다.
- 흙 단위를 번 화단에서 번 화단으로 옮긴다. 비용은 다.
모든 화단을 목표 상태로 만드는 데 드는 최소 비용을 구하라.
입력
첫째 줄에 , , , 가 주어진다 (, ). 이어지는 개의 줄 중 번째 줄에 정수 와 가 주어진다.
출력
조경을 끝내는 데 드는 최소 비용을 출력한다.
힌트
같은 문제가 예전에 훨씬 작은 제한으로 출제된 적이 있다. 이 버전은 제한이 크게 늘어났으므로, 작은 제한을 가정하고 짠 풀이로는 시간 안에 끝내기 어렵다.