之前学堆和优先队列的时候,脑子里闪过一个想法——用这玩意不直接秒掉P1177?然后这一闪而过的想法就被渐渐淡忘了,直到刚刚闲的发慌拿来一交——
AC了?!
本来以为会TLE,结果它没有!!!这不比sort简单?!直接把数塞进去,然后挨个输出就行了!!
看了一下题解和讨论区,貌似都没这么写的!
(所以我可以申请提交题解吗
附上代码:
#include<iostream>
#include<queue>
#define int long long//个人习惯,不开龙龙见祖宗
using namespace std;
priority_queue<int,vector<int>,greater<int> > q;//一个小根堆
int n;
signed main(){
cin>>n;
for(int i = 0;i < n;i ++){
int tmp;
cin>>tmp;
q.push(tmp);//挨个往堆里塞
}
while(! q.empty()){//把整个堆里的东西都扔出来
cout<<q.top()<<" ";
q.pop();
}
return 0;
}