#6809. 沙滩城堡

沙滩城堡

题目描述

农夫 John 建了一个沙滩城堡!城堡的上面有一些城头墙垛(中间是空隙可作为炮口),如下图所示。城堡共有 NN 个墙垛,编号为 1N1 \dots N;墙垛 ii 的高度为 MiM_i;有些墙垛会很高。

现在他想改变一下墙垛的高度,想把高度改成 B1B_1BNB_NNN 个给定的高度,但次序是可以任意的。完成这件任务是要花钱雇工匠做的。已知提高一单位高度花费为 XX;降低一单位高度花费 YY。John 希望你能帮助他找到一个最好的排列次序,使他花费最少的钱就能完成这个任务。

输入格式

11 行:三个整数 N,X,YN, X, Y

22N+1N+1 行:每行两个整数 MiM_iBiB_i,分别表示城堡第 ii 个墙垛的当前高度和目标高度之一。

输出格式

一个整数,表示完成所有高度调整的最小总费用。

样例

3 6 5
3 1
1 2
1 2
11

样例解释

城堡有 33 个墙垛,当前高度分别为 3,1,13, 1, 1,目标是将它们变为高度 1,2,21, 2, 2(次序任意)。增加一单位高度的费用为 66,降低一单位高度的费用为 55

一种最优方案:

  • 把高度为 33 的墙垛降低 11 单位,花费 55,变成 22
  • 把其中一个高度为 11 的墙垛增加 11 单位,花费 66,变成 22; 最终高度为 2,2,12, 2, 1,总费用为 5+6=115 + 6 = 11

数据范围与提示

  • 对于 40%40\% 的数据:N9N \le 9
  • 对于 60%60\% 的数据:N18N \le 18
  • 对于 100%100\% 的数据:1N250001 \le N \le 25\,0001Mi,Bi1000001 \le M_i, B_i \le 100\,0001X,Y1001 \le X, Y \le 100

答案保证在 3232 位有符号整数范围内。