Problem1633--叠盘子

1633: 叠盘子

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 0  Solved: 0
[Submit] [Status] [Web Board] [Creator:]

Description

有n堆盘子,第i堆盘子的数量为hi,你可以通过以下三种操作使得每堆盘子数量相同,请问最小代价是多少?
1. 在某一堆的顶部加一个盘子,代价为a;
2. 取走某一堆顶部的盘子,代价为b;
3. 将某一堆顶部的盘子移动到另一堆顶部,代价为c;

Input

多组输入。
第一行输入题目中的n,a,b,c(1<=n,a,b,c<=1e5)。
第二行输入n堆盘子的高度(0<=hi<=1e8)。

Output

对于每组输入,输出使得每堆盘子数量相同的最小代价。

Sample Input

3 1 50 50
1 3 8
3 50 1 50
1 3 8

Sample Output

12
9

Source/Category

困难