首页 > 试题广场 >

小红的数组操作

[编程题]小红的数组操作
  • 热度指数:97 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
小红拿到了一个数组,她准备对这个数组进行如下两种操作:
1. 删除数组的第一个元素。该操作的花费为x
2. 使得数组中任意一个元素加 1 或者减 1。该操作的花费为y

小红希望用尽可能少的花费使得数组所有元素都相等,请你帮小红求出最小的花费。

输入描述:
第一行输入三个正整数n,x,y,代表数组的大小以及两种操作的花费。
第二行输入n个正整数a_i,代表数组的元素。
1\leq n \leq 10^5
1\leq a_i,x,y \leq 10^9
保证 40% 的数据满足 1 \leq n \leq 1000


输出描述:
一个整数,代表将所有元素变成相等的最小总花费。

示例1

输入

5 2 1
10 1 4 2 3

输出

6

说明

删除前两个元素,共花费 4。然后对第三个元素减 1,对第四个元素加 1 即可。

这道题你会答吗?花几分钟告诉大家答案吧!