大石头的搬运工

本文详细介绍了在一款名为'大石头的搬运工'的游戏中,如何计算将所有石头移动到一起的最小费用。首先,对问题进行分析,包括输入输出格式、数据范围和算法设计。接着,提出一种解决方案,通过对石头按位置排序,计算前缀和和后缀和来确定最小费用。在代码实现过程中,可能会遇到整数溢出、排序效率和前缀和计算等挑战。文章还提供了正确答案的完整信息和分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

在一款名为”大石头的搬运工“的游戏中,玩家需要操作一排n堆石头,进行n -1轮游戏。

每一轮,玩家可以选择一堆石头,并将其移动到任意位置。

在n-1轮移动结束时,要求将所有的石头移动到一起(即所有石头的位置相同)即为成功。

移动的费用为石头的重量乘以移动的距离。例如,如果一堆重量为2的石头从

位置3移动到位置5,那么费用为2×(5-3)=4。

请计算出所有合法方案中,将所有石头移动到一起的最小费用。可能有多堆石头在同一个位置上,但是一轮只能选择移动其中一堆。

输入格式

第一行一个整数n,表示石头的数量。

接下来n行,每行两个整数wi和pi,分别表示第i个石头的重量和初始位置。

输出格式

输出一个整数,表示最小的总移动费用。

样例输入

3

23

31

15

我的答案:错的

一、信息

  • 问题描述: 在一款游
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏驰和徐策

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值