优先队列解法
2026-03-18 22:14:33
发布于:上海
2阅读
0回复
0点赞
优先队列不进行完整排序,而且内存占用随测试点大小变化,理论上更好
代码:
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
priority_queue<int, vector<int>, greater<int>> a;
long long ans=0;
int main(){
int n;
cin >> n;
for (int i=0; i<n; i++){
int x;
cin >> x;
a.push(x);
}
if(n % 2) n++;
n /= 2;
for (int i=0; i<n; i++){
ans+=a.top();
a.pop();
}
cout << ans;
return 0;
}
这里空空如也








有帮助,赞一个