题目链接:
非常简单的一道数据结构的题目哈,好久没刷过题了,现在再也不会刷那些很难的题目了,刷题只是为了让我保持清醒-.-
思路就是Huffman编码的简单应用~,一开始输出没用long long,导致WA了一发
其次是复习了一下STL里 priority_queue的使用姿势~
/************************************************************************* > File Name: 3253.cpp > Author: jusonalien > Mail: jusonalien@qq.com > Created Time: 2015年02月11日 星期三 23时34分22秒 ************************************************************************/#include#include #include #include using namespace std;int main() { priority_queue ,greater > q; int n; while(~scanf("%d",&n)) { while(!q.empty()) q.pop(); long long ans = 0; int ele; while(n--) { scanf("%d",&ele); q.push(ele); } while(!q.empty()) { int d = q.top(); ans += q.top(); q.pop(); if(q.empty()) break; d += q.top(); ans += q.top(); q.pop(); if(q.empty()) break; q.push(d); } printf("%lld\n",ans); } return 0;}