#CF1659C. 线形帝国

线形帝国

线形帝国

  • 时间限制:1 秒
  • 内存限制:256 MiB

题目描述

你是一位雄心勃勃的国王,想要成为“实数之皇”。但在此之前,你必须先成为“整数之皇”。

考虑一条数轴。你的帝国首都最初位于 00。有 nn 个未被征服的王国,分别位于 0<x1<x2<…<xn0 < x_1 < x_2 < \ldots < x_n 的位置。你想要征服所有其他王国。

你有两种可用的行动:

  • 你可以将首都的位置(假设当前位置为 c1c_1)迁移到任意一个已被征服的王国(其位置为 c2c_2),花费为 a⋅∣c1−c2∣a\cdot |c_1-c_2|。
  • 你可以从当前首都(位置为 c1c_1)出发,征服一个未被征服的王国(其位置为 c2c_2),花费为 b⋅∣c1−c2∣b\cdot |c_1-c_2|。如果在目标和你的首都之间有未被征服的王国,则不能征服该王国。

注意,你不能将首都迁移到没有王国的位置。换句话说,任何时候你的首都只能位于 00 或 x1,x2,…,xnx_1,x_2,\ldots,x_n 之一。还要注意,征服一个王国不会改变首都的位置。

请你求出征服所有王国的最小总花费。最终首都可以位于任意位置。

输入格式

第一行包含一个整数 tt(1≤t≤10001 \le t \le 1000),表示测试用例的数量。每个测试用例的描述如下。

每个测试用例的第一行包含三个整数 nn、aa 和 bb(1≤n≤2⋅1051 \leq n \leq 2 \cdot 10^5;1≤a,b≤1051 \leq a,b \leq 10^5)。

每个测试用例的第二行包含 nn 个整数 x1,x2,…,xnx_1, x_2, \ldots, x_n(1≤x1<x2<…<xn≤1081 \leq x_1 < x_2 < \ldots < x_n \leq 10^8)。

所有测试用例中 nn 的总和不超过 2⋅1052 \cdot 10^5。

输出格式

对于每个测试用例,输出一个整数,表示征服所有王国的最小花费。

样例输入 1

4
5 2 7
3 5 12 13 21
5 6 3
1 5 6 21 30
2 9 3
10 15
11 27182 31415
16 18 33 98 874 989 4848 20458 34365 38117 72030

样例输出 1

173
171
75
3298918744

数据范围

对于所有数据,1≤t≤10001\le t\le1000,1≤n≤2×1051\le n\le2\times10^5,1≤a,b≤1051\le a,b\le10^5,1≤x1<⋯<xn≤1081\le x_1<\cdots<x_n\le10^8;所有测试用例中 nn 的总和不超过 2×1052\times10^5。

子任务编号 分值 特殊限制
1 30 n≤12n\le12
2 n≤3000n\le3000
3 40 无特殊限制