#GOC18889. 沙滩城堡(sandcas)

沙滩城堡(sandcas)

题目描述

农夫John建了一个沙滩城堡! 城堡的上面有一些城头墙垛(中间是空隙可作为炮口),如下图所示。城堡共有N (1 <= N<= 25,000)个墙垛,编号为1..N; 墙垛i的高度为 M_i (1 <= M_i <= 100,000); 有些墙垛会很高的。

![](./1990/file/img01.png)

现在他想改变一下墙垛的高度,想把高度改成B_1 到 B_N (1 <= B_i <= 100,000)这N个给定的高度,但次序是可以任意的。完成这件任务是要花钱雇工匠做的。已知提高一单位高度花费为X (1 <= X <= 100) ;降低一单位高度花费Y (1 <= Y <= 100)。

John希望你能帮助他找到一个最好的排列次序,使他花费最少的钱就能完成这个任务。

 

【输入格式】

     第1行: 三个整数: N, X, Y,

第2..N+1行: 第 i+1 有两个整数,分别是:  M_i 和B_i

 

【输出格式】

仅一个整数,输出它的最小费用。

 

3 6 5
3 1
1 2
1 2
11

【输入说明】

FJ的城堡有3个墙垛,高度为 3, 1,和 1. 他想把它们以某种次序变成高度为1, 2,和 2。增加一个高度费用为 6 ,降低一个高度费用为 5。

【输出说明】

FJ 把第1个高度降低1, 花费5 (现在有高度为2, 1, 1). 再把第2个增加1个高度,花费6. (这样就得到高度2, 2, 1)。

【数据规模】

答案保证在32位整数范围内。

40%数据N<= 9;

60% 数据N<= 18;

     100%数据N<= 25,000;