可能 PTA 的编译器有问题,,,
cin 关流操作没有用,,改成scanf 之类的就不超时了
优先队列是一种 堆,,插入时自动按优先级排序
(注:博客作为交流使用,切勿抄袭应付作业)
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
struct node {
//string name;
char name[22];
int id;
bool operator < (const node& a) const {
return id > a.id;
}
};
priority_queue<node> qu;
int n, d;
char s[22], od[22];
int main() {
scanf("%d", &n);
//ios::sync_with_stdio(0); cin.tie(0);
//cin >> n;
for(int i = 0; i < n; ++i) {
//cin >> od;
scanf("%s", od);
if(od[0] == 'P') {
node t;
//cin >> t.name >> t.id;
scanf("%s %d", t.name, &t.id);
qu.push(t);
}
else {
if(qu.empty()) {
puts("EMPTY QUEUE!");
//cout << "EMPTY QUEUE!" << endl;
}
else
{
node t = qu.top(); qu.pop();
puts(t.name);
//cout << t.name << endl;
}
}
}
return 0;
}