首页 > 试题广场 >

AOE还是单体?

[编程题]AOE还是单体?
  • 热度指数:571 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
牛可乐准备和 个怪物厮杀。已知第 个怪物的血量为 a_i
牛可乐有两个技能:
第一个技能是蛮牛冲撞,消耗 ,可以对任意单体怪物造成 点伤害。
第二个技能是蛮牛践踏,消耗 ,可以对全体怪物造成 点伤害。
牛可乐想知道,将这些怪物全部击杀,消耗 的最小值的多少?

输入描述:
第一行两个正整数  ,分别代表怪物的数量、每次蛮牛践踏消耗的  值。 
第二行 个正整数 a_i ,分别代表每个怪物的血量。


输出描述:
一个正整数,代表消耗  的最小值。
示例1

输入

5 2
2 4 5 6 3

输出

11

说明

先对3号怪物用1次蛮牛冲撞,对4号怪物用2次蛮牛冲撞,此时消耗mp为3,怪物的血量是2,4,4,4,3。
然后用4次蛮牛践踏,击杀全部怪物,消耗的mp总量为11。

备注:
import heapq

n,x = map(int,input().split())
hq = list(map(int,input().split()))
heapq.heapify(hq)
mp = 0
cur = 0
while x < len(hq):
    ai = heapq.heappop(hq) - cur
    mp += x * ai
    cur += ai
mp = mp + sum(hq) - cur * len(hq)
print(mp)
发表于 2026-04-18 15:19:55 回复(0)