#P1046. 修改

修改

题目描述

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

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

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

输入描述

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

输出描述

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

5 2
3 2 4 1 3
7

测试点说明

每组数据点 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 0ai1000ai只有两种数字0\leq a_i \leq 1000 且a_i只有两种数字
66 k=0k = 0 0ai10000 \leq a_i \leq 1000
77~88 0k10000 \leq k \leq 1000 kai109k \leq a_i \leq 10^9
99~1010 0ai1060 \leq a_i \leq 10^6