60pts蒟蒻求助
查看原帖
60pts蒟蒻求助
756502
yzwfq2000楼主2022/10/21 18:33

开不开O2都是60分,3个点TLE了。

#include<bits/stdc++.h>
using namespace std;
long long n;
priority_queue<long long,vector<long long>,greater<long long> > q;
int main(){
	long long n,x;
	cin>>n;
	long long ans=0;
	for (int i=1;i<=n;i++){
		cin>>x;
		q.push(x);
	}
	for (int i=1;i<n;i++){
		long long a,b;
		a=q.top();
		q.pop();
		b=q.top();
		q.pop();
		ans+=a+b;
		q.push(a+b);
	}
	cout<<ans<<endl;
	return 0;
}

参考了一个题解的思路,重新写,还是60分,就觉得题解不行,又改回去了。

2022/10/21 18:33
加载中...