POJ 3253 Fence Repair
2016-03-11 13:18
302 查看
简单贪心,每次合并长度最小的两段,优先级队列维护一下。
#include<cstdio> #include<cstring> #include<cmath> #include<queue> #include<algorithm> using namespace std; const int maxn=20000+10; int n; long long a[maxn]; struct cmp1{ bool operator ()(long long &a,long long &b){ return a>b; } }; int r; int main() { while(~scanf("%d",&n)) { priority_queue<long long,vector<long long>,cmp1>q; for(int i=1; i<=n; i++) { scanf("%lld",&a[i]); q.push(a[i]); } r=n-1; long long cost=0; while(r--) { long long sum=0; sum=sum+q.top();q.pop(); sum=sum+q.top();q.pop(); q.push(sum); cost=cost+sum; } printf("%lld\n",cost); } return 0; }
相关文章推荐
- OpenCV3.1 xfeatures2d::SIFT 使用
- JS通过使用PDFJS实现基于文件流的预览功能
- web storage API
- js仿百度登录页实现拖动窗口效果
- Adaptive Deconvolutional Networks for Mid and High Level Feature Learning(阅读)
- javascript实现<area herf="...">新窗口打开
- AngularJS学习(MVVM框架入门)
- HTML5开发移动web应用—JQuery Mobile(2)-列表
- doT.js——前端javascript模板引擎问题备忘录
- JavaScript 入门哪本书最好?(问、答) 《转载》
- js、css、img等浏览器缓存问题的2种解决方案
- H5 安卓问题!
- [资料收集]js小技巧
- [连载]JavaScript讲义(02)--- JavaScript核心编程
- JS判断字符串是否为纯数字
- css优化篇
- 关于 JavaScript prototype __proto__ 一点总结
- js数据格式转换
- google maps js v3 api教程(3) -- 创建infowindow
- BufferedReader和InputStreamReader的用法