아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

모래성

면접 대비

시간 제한1초메모리 제한128 MB

요약
현재 성곽 높이들과 순서를 자유롭게 정할 수 있는 목표 높이들이 주어질 때, 올리는 비용 X와 내리는 비용 Y를 고려해 총비용이 최소가 되도록 짝지어 그 최솟값을 구한다.
난이도

보통10점 중 5점

유형
그리디, 정렬, 수학, 배열
정답자
아직 제출이 없습니다

문제

Farmer John이 모래성을 지었습니다. 좋은 성이 그렇듯, 이 성벽에도 총안(embrasure, 사이의 빈 공간)과 그 사이에 솟은 흉벽 블록(merlon)이 번갈아 나타나는 톱니 모양 장식이 있습니다.

성벽에는 NN개의 흉벽 블록이 있으며(1≤N≤25,0001 \le N \le 25{,}000), 11번부터 NN번까지 번호가 매겨져 있습니다. ii번 블록의 현재 높이는 MiM_i입니다(1≤Mi≤100,0001 \le M_i \le 100{,}000).

Farmer John은 성벽을 새로 설계하려 합니다. 그는 목표 높이 NN개의 목록 B1,…,BNB_1, \dots, B_N을 가지고 있으며(1≤Bi≤100,0001 \le B_i \le 100{,}000), 블록들의 최종 높이가 이 값들의 다중집합과 정확히 일치하도록 만들고 싶어 합니다. 단, 어떤 순서로 배치할지는 자유롭게 고를 수 있습니다(주어진 순서를 따를 필요는 없고, 임의의 순열이 가능합니다).

블록의 높이를 바꾸기 위해 그는 장인들을 고용하는데, 이들은 높이를 11만큼 올릴 때마다 XX의 비용을, 11만큼 내릴 때마다 YY의 비용을 청구합니다(1≤X,Y≤1001 \le X, Y \le 100).

목표 높이를 블록에 배정하는 모든 방법 중 전체 비용이 최소가 되는 것을 고른 뒤, 그 최소 비용을 출력하세요. 정답은 부호 있는 32비트 정수 범위 안에 들어옴이 보장됩니다.

입력

  • 첫째 줄에 세 정수 NN, XX, YY가 공백으로 구분되어 주어집니다.
  • 다음 NN개의 줄 중 ii번째 줄에는 두 정수 MiM_i와 BiB_i가 공백으로 구분되어 주어집니다.

출력

  • 성벽을 다시 만드는 데 필요한 최소 총비용을 정수 하나로 출력합니다.

힌트

예시에서 Farmer John은 첫 번째 블록의 높이를 11만큼 내리고(비용 55, 높이가 2,1,12, 1, 1이 됨), 두 번째 블록의 높이를 11만큼 올립니다(비용 66, 높이가 2,2,12, 2, 1이 됨). 따라서 총비용은 1111입니다.

예제4

  1. 예제 1

    입력
    3 6 5
    3 1
    1 2
    1 2
    
    예상 출력
    11
    
  2. 예제 2

    입력
    1 10 10
    5 5
    
    예상 출력
    0
    
  3. 예제 3

    입력
    1 3 7
    2 10
    
    예상 출력
    24
    
  4. 예제 4

    입력
    1 3 7
    10 2
    
    예상 출력
    56