Type: Default File IO: change 1000ms 256MiB

修改

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

在一次数字游戏中,给你一个 nn (1n1051\leq n\leq 10^5) 长度的数组 arrarr ,你可以进行若干次操作,每次操作你可以选择数组中的一个元素减去 11 (该元素必须大于等于 11 ),一次操作的代价为 11。你的目标是使得数组中所有的 00 元素都相等

这个游戏有一个特别的规则:如果某次操作产生了数字 00,则这次操作需要额外的代价 kk

你的任务是确定一个策略,使得将数组中所有非 00 元素变为相等的总代价最小。

输入格式

第一行为两个整数 nnkk ,表示数组的长度和 11 变成 00 的额外代价 kk

第二行为 nn 个整数,表示数组 arrarr 的元素。

输出格式

输出一个整数,表示将数组中所有元素变为相等的最小代价。

5 2
3 2 4 1 3
7
5 1 
0 0 1 5 5
2

数据范围

每组数据点 1010 分,共 1010 组数据。

测试点编号 nn 的范围 kk 的范围 aia_i 的范围
121-2 1n101 \leq n \leq 10 k10k\leq10 0ai100 \leq a_i \leq 10
343-4 1n10001 \leq n \leq 1000 0k10000\leq k \leq 1000 0ai10000 \leq a_i \leq 1000
55 1n1051 \leq n \leq 10^5 0k10000 \leq k \leq 1000 0ai10000\leq a_i \leq 1000aia_i 只有两种数字
66 k=0k = 0 0ai10000 \leq a_i \leq 1000
787-8 0k10000 \leq k \leq 1000 kai109k \leq a_i \leq 10^9
9109-10 0ai1060 \leq a_i \leq 10^6