#P14892. Equal

Equal

题目描述

有一个长度为 nn 的非负整数序列 aa,你可以无限的做以下两种操作,使得序列中的每一个数字都相等:

  • 花费 xx 的代价,使得对于所有不大于 nn 的正整数 iiaia_i 的值变为 max(ai1,0)\max(a_i-1,0)
  • 花费 yy 的代价,替换序列中的一个数为任意数字;

求需要花费的最小代价。

输入格式

每个测试点有多组测试数据

第一行一个整数 tt,表示数据组数。

接下来依次输入 tt 组测试数据。

对于每一组测试数据,第一行三个正整数 n,x,yn,x,y,表示序列长度,第一种操作的代价和第二种操作的代价;第二行 nn 个非负整数 a1,a2......ana_1,a_2......a_n1n2×1051\le n \le 2\times10^50x,y,ai1090 \le x,y,a_i \le 10^9)。

保证对于单个测试点,所有 nn 的和不超过 2×1052\times 10^5

输出格式

对于每一组测试数据,输出一行一个整数,表示需要花费的最小代价。

3
2 4 2
3 10
5 2 1
1 2 2 1 1
5 3 8
0 1 2 3 2
2
2
9

提示

样例解释

对于第一组数据,可以进行 11 次第二种操作,把 a2a_2 的值修改为 33,此时 a1=a2=3a_1=a_2=3

对于第二组数据,可以进行 22 次第二种操作,把 a2a_2a3a_3 的值修改为 11,此时 a1=a2=a3=a4=a5=1a_1=a_2=a_3=a_4=a_5=1

对于第三组数据,可以进行 33 次第一种操作,此时 a1=a2=a3=a4=a5=0a_1=a_2=a_3=a_4=a_5=0