合并果子(multiset)
来源:互联网 发布:容我喝一杯82年的java 编辑:程序博客网 时间:2024/05/21 06:25
合并果子
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 312 Solved: 113
[Submit][Status][Web Board]
Description
现在有n堆果子,第i堆有ai个果子。现在要把这些果子合并成一堆,每次合并的代价是两堆果子的总果子数。求合并所有果子的最小代价。
Input
第一行包含一个整数T(T<=50),表示数据组数。
每组数据第一行包含一个整数n(2<=n<=1000),表示果子的堆数。
第二行包含n个正整数ai(ai<=100),表示每堆果子的果子数。
Output
每组数据仅一行,表示最小合并代价。
Sample Input
241 2 3 453 5 2 1 4
Sample Output
1933
代码:
#include<cstdio> #include<set> using namespace std; multiset<int> mst; int main() { int t; scanf("%d",&t); while(t--) { mst.clear(); int n; int ans=0; scanf("%d",&n); for(int i=1;i<=n;i++) { int x; scanf("%d",&x); mst.insert(x); } int anss; multiset<int>::iterator it1; multiset<int>::iterator it2; while(mst.size()>1) { it1=it2=mst.begin(); it2++; anss=*it1+*it2; ans=ans+anss; mst.erase(mst.begin()); mst.erase(mst.begin()); mst.insert(anss); } printf("%d\n",ans); } return 0; }
0 0
- 合并果子(multiset)
- 合并果子(树)
- 合并果子(堆)
- 合并果子(小根堆)
- (堆) 合并果子 (CD1224)
- 合并果子(堆写法)
- 合并果子(优先队列)
- 合并果子。。。(脑抽ing~)
- 合并果子(优先队列)
- CSU1588 合并果子(贪心)
- 合并果子(优先队列)
- 合并果子(堆模板)
- 合并果子
- 合并果子
- 合并果子
- 合并果子
- 合并果子
- 合并果子
- 初,SQLLIGOD
- 当ecplise中的tomcat6不能使用,只能使用tomcat7的时候
- 17、Objective-C在ARC下结合GCD的单例模式和宏模版
- gnuplot
- 二叉查找树 ADT
- 合并果子(multiset)
- 图像分割
- 计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接
- JS原型学习笔记
- 一起talk Vim吧(第二回:Vim变脸)
- 图像的腐蚀与膨胀
- 黑马程序员_Java语言基础_循环结构
- 《C语言及程序设计》实践参考——带姓名的成绩单
- 《C语言及程序设计》实践参考——电子词典