모래성
면접 대비시간 제한1초메모리 제한128 MB
현재 성곽 높이들과 순서를 자유롭게 정할 수 있는 목표 높이들이 주어질 때, 올리는 비용 X와 내리는 비용 Y를 고려해 총비용이 최소가 되도록 짝지어 그 최솟값을 구한다.
문제
Farmer John이 모래성을 지었습니다. 좋은 성이 그렇듯, 이 성벽에도 총안(embrasure, 사이의 빈 공간)과 그 사이에 솟은 흉벽 블록(merlon)이 번갈아 나타나는 톱니 모양 장식이 있습니다.
성벽에는 개의 흉벽 블록이 있으며(), 번부터 번까지 번호가 매겨져 있습니다. 번 블록의 현재 높이는 입니다().
Farmer John은 성벽을 새로 설계하려 합니다. 그는 목표 높이 개의 목록 을 가지고 있으며(), 블록들의 최종 높이가 이 값들의 다중집합과 정확히 일치하도록 만들고 싶어 합니다. 단, 어떤 순서로 배치할지는 자유롭게 고를 수 있습니다(주어진 순서를 따를 필요는 없고, 임의의 순열이 가능합니다).
블록의 높이를 바꾸기 위해 그는 장인들을 고용하는데, 이들은 높이를 만큼 올릴 때마다 의 비용을, 만큼 내릴 때마다 의 비용을 청구합니다().
목표 높이를 블록에 배정하는 모든 방법 중 전체 비용이 최소가 되는 것을 고른 뒤, 그 최소 비용을 출력하세요. 정답은 부호 있는 32비트 정수 범위 안에 들어옴이 보장됩니다.
입력
- 첫째 줄에 세 정수 , , 가 공백으로 구분되어 주어집니다.
- 다음 개의 줄 중 번째 줄에는 두 정수 와 가 공백으로 구분되어 주어집니다.
출력
- 성벽을 다시 만드는 데 필요한 최소 총비용을 정수 하나로 출력합니다.
힌트
예시에서 Farmer John은 첫 번째 블록의 높이를 만큼 내리고(비용 , 높이가 이 됨), 두 번째 블록의 높이를 만큼 올립니다(비용 , 높이가 이 됨). 따라서 총비용은 입니다.