60求助
查看原帖
60求助
551630
Lemon_zqp楼主2022/8/20 15:46
#include<bits/stdc++.h>
using namespace std;

priority_queue<unsigned long long,vector<unsigned long long>,greater<unsigned long long> >q;


int rad()
{ 
    int ret=0;
    char ch=getchar(); 
    while (ch<'0'||ch>'9') 
    ch=getchar();
    while (ch<='9'&&ch>='0') 
    ret=ret*10+ch-'0',ch=getchar(); 
    return ret; 
    
}
int main()
{
	unsigned long long n, x, ans = 0;
	cin >> n;
	for(int i = 1; i <= n; i++) 
	{
		q.push(rad());
	}
	while(q.size() >= 2)
	{
		unsigned long long a = q.top(); 
		q.pop();
		unsigned long long b = q.top(); 
		q.pop();
		ans += a + b;
		q.push(a + b);
	}
	cout << ans << endl;
	return 0;
}

dalao求助

2022/8/20 15:46
加载中...