Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
170237 | Wilbur | 紧急集合 | C++ | 通过 | 100 | 6 MS | 456 KB | 599 | 2024-08-20 20:56:03 |
#include <iostream> #include <algorithm> #include <queue> #include <vector> using namespace std; int main() { priority_queue<long long, vector<long long>, greater<long long>> minQueue; int n; cin>>n; for (int i = 0; i < n; i++){ long long ld; cin>>ld; minQueue.push(ld); } long long ans=0; while (minQueue.size()>=2) { long long a=minQueue.top(); minQueue.pop(); a+=minQueue.top(); minQueue.pop(); ans+=a; minQueue.push(a); } cout<<ans<<endl; return 0; }