import os
import sys
def shu(t):
return t[1]
n,s=map(int,input().split()) #n:士兵的数量 s:进行一次组团训练所需的金币数
pc=[0]*n
p=[0]*n #p:第i名士兵进行一次训练的金币成本
c=[0]*n #c:要成为顶尖战士所需的训练次数
for i in range(n):
pc[i]=list(map(int,input().split())) #输入5 2 2 4 3 2
#print(pc) 输出[[5, 2], [2, 4], [3, 2]]
pc.sort(key=shu) #按照训练天数排序
#print(pc) 输出[[5, 2], [3, 2], [2, 4]]
for i in range(n):
p[i]=pc[i][0]
c[i]=pc[i][1]
he=sum(p) #所有人单独训练费用的和
zs=0 #zs:最少费用
yq=0 #yq:一起训练的次数
for i in range(n):
if he>s: #此时一起训练更划算
zs+=(c[i]-yq)*s
yq=c[i] #更新一起训练的次数
else:
zs+=(c[i]-yq)*p[i] #单独训练更划算
he-=p[i] #i完成训练不用给钱了
print(zs)
蓝桥杯备赛
最新推荐文章于 2025-04-27 20:47:28 发布