UESTC 1599 wtmsb

Posted 十年换你一句好久不见

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UESTC 1599 wtmsb相关的知识,希望对你有一定的参考价值。

这天,AutSky_JadeK看到了n张图片,他忍不住说道:“我TM社保!”。
技术分享

每张图片有一个社保值,他可以合并两张图片,合并所得的图片的社保值是原来两张图片的社保值之和。
每次合并需要消耗的体力也是原来两张图片的社保值之和。 显然,n?1次合并之后,只剩下一张图片。
他想知道,在这个过程中,他消耗的总体力最少是多少。

Input

第一行包含一个整数n,
第二行包含n个整数A1,A2,…,An,代表n张图片的社保值。

Output

输出一行,包含一个整数,代表他消耗的总体力最少是多少。

Sample input and output

Sample Input Sample Output
3
1 2 9
15


Hint

1≤n≤200001≤n≤20000,
1≤Ai≤20001≤Ai≤2000

 

解题思路 优先队列

#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <cmath>
#include <vector>
#include <algorithm>
using namespace std;
typedef long long ll;
int main()
{
    priority_queue<ll,vector<ll>,greater<ll> >q;
    ll n,x,a,b;
    ll ans=0;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>x;
        q.push(x);
    }
    while(q.size()>=2)
    {
        a=q.top();
        q.pop();
        b=q.top();
        q.pop();
        a=a+b;
        ans+=a;
        q.push(a);
    }
    cout<<ans<<endl;
    return 0;
}

 


















以上是关于UESTC 1599 wtmsb的主要内容,如果未能解决你的问题,请参考以下文章

UESTC 电子科大专题训练 数据结构 J

UVA-10954 Add All

ACM图论—最小环问题 ( 仔细分析+理解+代码 )(HDU 1599 ) (POJ 1743)

单目标优化求解 基于matlab烟花算法求解单目标问题含Matlab源码 1599期

UESTC 电子科大专题训练 DP-N

UESTC2021暑假前集训(splay树)