容易看出每个病毒消耗的防御能量可以独立计算,那么一个病毒消耗的能量是多少呢?当病毒的耐久度为1、2、3、...、c时不会消耗能量,c+1、c+2、...2c的时候会消耗1点能量,所以可以看出消耗的能量值为 ⌊(hp−1)/c⌋,直接遍历一遍计算总消耗能量即可
Python代码
小蓝正在清理一台感染严重的服务器。服务器中有 n 个病毒,每个病毒拥有一个耐久度。小蓝编写了一个循环清除程序:每一轮,程序会同时对所有病毒造成 c 点伤害。然后,本轮中尚未被清除的病毒会各自对小蓝的防御系统发起一次微量攻击,每次攻击恰好消耗 1 点防御能量。当某个病毒的耐久度降至 0 或以下时,它立即被清除,不会在当轮发起攻击。
小蓝想知道,按照这样的清理流程,从开始直到所有病毒被清除完毕,一共会消耗多少点防御能量。
约束条件:病毒个数 n 不超过 10^5,清除力度 c 和每个病毒的初始耐久度均为正整数且不超过 10^9。
输入包含两行。第一行包含两个正整数 n 和 c,分别表示病毒数量与每轮清除的力度。第二行包含 n 个正整数,依次表示每个病毒的初始耐久度。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.