poj3253贪心

一时失言乱红尘 2024-02-18 14:14 181阅读 0赞
  1. #include<queue>
  2. #include<iostream>
  3. #include<cstdio>
  4. #define ll long long
  5. using namespace std;
  6. int main(){
  7. priority_queue<ll,vector<ll>,greater<ll> > q;
  8. int n,t;
  9. while(~scanf("%d",&n))
  10. {
  11. ll ans=0;
  12. while(n--)
  13. {
  14. scanf("%d",&t);
  15. q.push(t);
  16. }
  17. if(q.size()==1) ans=q.top();
  18. while(q.size()>1)
  19. {
  20. t=q.top();
  21. q.pop();
  22. t+=q.top();
  23. q.pop();
  24. q.push(t);
  25. ans+=t;
  26. }
  27. printf("%lld\n",ans);
  28. }
  29. return 0;
  30. }

发表评论

表情:
评论列表 (有 0 条评论,181人围观)

还没有评论,来说两句吧...

相关阅读

    相关 poj1323 贪心

    题意:n个人在玩牌,每个人有m张牌,于是就有n\m张牌(每张牌都有一个值,介于1到n\m之间,不重复),然后进行m轮游戏,每轮每个人都出一张牌,牌最大的那个人就赢了,然后给出n

    相关 poj1065贪心

    描述 C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间,如果第i+1个木棒的重量和长度都大于等于 第i个处理的木