博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Stone(思维)
阅读量:4505 次
发布时间:2019-06-08

本文共 838 字,大约阅读时间需要 2 分钟。

链接:

来源:牛客网

题目描述

有n堆石子排成一排,第i堆石子有
aiai个石子。
每次,你可以选择任意相邻的两堆石子进行合并,合并后的石子数量为两堆石子的和,消耗的体力等价于两堆石子中石子数少的那个。
请问,将所有的石子合并成一堆,你所消耗的体力最小是多少?

输入描述:

第一行是一个整数T(1≤T≤20)T(1≤T≤20),表示样例的个数。 每个样例的第一行是一个整数n(1≤n≤10000)n(1≤n≤10000),表示石子堆的数量。 第二行是n个整数ai(1≤ai≤109)ai(1≤ai≤109)

输出描述:

每行输出一个样例的结果。
示例1

输入

221 211

输出

10

说明

巨大的输入,请使用C风格的输入。 思路:把最大的一堆挑出,其余求和 代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
const int maxn=1e5+5;typedef long long ll;using namespace std;int main(){ int T; cin>>T; while(T--) { int n; cin>>n; ll sum=0; int maxx=0; int x; for(int t=0;t

 

转载于:https://www.cnblogs.com/Staceyacm/p/10816773.html

你可能感兴趣的文章
linux下使用autoconf制作Makefile
查看>>
快来秒杀我
查看>>
Python_阻塞IO、非阻塞IO、IO多路复用
查看>>
爬虫超时解决的方法
查看>>
网络技术和科技革命周末随想
查看>>
Codeforces 10C Digital Root 法冠军
查看>>
华为-on演习--身高找到最好的二人
查看>>
debian软件安装基础(同tomcat案件)
查看>>
如何面对客户的紧急需求
查看>>
【转载】嵌入式linux学习规划
查看>>
[转帖]和机器学习和计算机视觉相关的数学
查看>>
mp4格式(转帖加修改) 转载
查看>>
JAVA类加载和初始化
查看>>
SMTP发送邮件
查看>>
关于句柄
查看>>
java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory
查看>>
Vue学习之路第十七篇:全局过滤器的使用
查看>>
Http传输Header解释
查看>>
BZOJ4893 项链分赃
查看>>
PIE SDK算法的异步调用
查看>>