import math
n = int(input())
li = []
for i in range(n):
li.append(list(map(int,input().split())))
li.sort(key=lambda x: x[1])
pex = [0]#存放第i个石头之前所有石头移动到这里需要的费用
nex = [0]#存放第i个石头之后所有石头移动到这里的费用
s = li[0][0]#存放第i个石头之前的所有石头的重量
s1 = li[-1][0]#存放第i个石头之后所有石头的重量
for i in range(1, n):
pex.append(pex[-1]+s * (li[i][1] - li[i-1][1]))
s += li[i][0]
for i in range(n-2, -1, -1):
nex.append(nex[-1] + s1*(li[i+1][1]-li[i][1]))
s1 += li[i][0]
nex.reverse()
res = math.inf
for i in range(n):
res = min(res, nex[i]+pex[i])
print(res)
蓝桥3829--大石头的搬运工
最新推荐文章于 2024-07-11 19:45:38 发布