牛客网--14407--甄总搬石头

本文介绍了如何解决一个合并石头的问题,即如何将n堆石头通过每次合并两堆成一堆的方式最终合并为一堆,并计算所需总力气。该问题采用贪心策略,每次都选择当前最小的两堆进行合并。给定每堆石头的数量,可以计算出合并的总力气。例如,对于3堆石头1、2、3,合并总共需要9力气。
摘要由CSDN通过智能技术生成

题目描述:
现在草地上有n堆石头,甄总想要合并这n堆石头成为1堆,但是他每次能力有限,所以只能一次合并2堆石头至1堆。
现在已知第i堆石头有ai块,假设甄总要合并第i堆和第j堆石头,则需要花费ai+aj的力气。
给出n堆石头每堆石头的个数,求出甄总要合并n堆成1堆石头一共需要多少力气。
输入描述:
第1行输入一个整数n,代表一共有n堆石头。
第2行输入n个整数ai,表示第i堆有ai块石头。
输出描述:
输出一行整数,表示一共需要多少力气。
输入:
3
1 2 3
输出:
9
题意:
题目描述
题解
简单贪心。
每次从队列中拿出最小的两个合并一下就好了
代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值