cin 的控制字符没有那么多,但是对于 string 等一些 STL 里面的东西,使用 scanf() 就要麻烦一些,然而很多人 cin 都会被卡时间,这是因为 cin 默认要和 stdio 缓冲进行同 步,关掉就可以了。方法:在程序开始处调用 cin.sync_with_stdio(false)。一定要注意!关掉 stdio 同步之后不能 cin 和 scanf()混用,否则会出现莫名其妙的错误!
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
#include<queue>
using namespace std;
string str;
priority_queue<int> q;
int main(){
cin.sync_with_stdio(false);//cin 加速器,不然会超时的
int t;
cin >> t;
int c;
while(t--){
cin>> str;
if(str== "add"){
cin>> c;
q.push(-c);
}
if(str== "delete"){
if(!q.empty())
q.pop();
}
if(str== "query"){
if(!q.empty())
printf("%d\n",-q.top());
}
}
return 0;
}