Compute's OCD
题号:NC221057
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld

题目描述

我们知道 Compute 喜欢收集人物卡,他在某个游戏里也收集(氪金)了很多角色,每张人物卡都有一个属性值。但是因为他有 OCD(强迫症),所以他希望他拥有的卡的属性值全是相同的。

幸运的是,他可以通过氪金改变角色的属性。他可以花费 A 使某个角色属性值 +1 ,也可以花费 B 使某个角色属性值 -1 。他可以对同一个角色多次氪金。

Compute 是顺序得到角色的,因此他想知道对每一个 i ,使前 i 张卡属性值全部相同的最少花费是多少。

需要注意的是,每一轮询问是独立的,即在某一轮使用的最少花费策略不必沿用至下一轮中。

输入描述:

第一行有三个整数 n, A, B  分别表示 Compute 获得的人物卡的数量,氪金使属性 +1 和 -1 所需要的花费。

接下来一行有 n 个整数 ,分别表示 Compute 获得的每张卡的属性值 x_i

输出描述:

输出 n 行,第 i 行输出一个整数代表 Compute 使前 i 张人物卡属性相同的最少花费。
示例1

输入

复制
5 3 2
5 1 4 2 3

输出

复制
0
8
11
13
15