using namespace std;
int main() {
/*
vector<int> ve1;
for (vector<int>::iterator it =ve1.begin() ; it != ve1.end(); ++it)
{
}*/
int n;
priority_queue<Element > pq;
cin >> n;
n = n + 1;
while (n--)
{
if (n < 1 || n>3*10*10*10*10*10*10)
{
return 0;
}
int m;
cin >>m;
switch (m)
{
case 1:
int num;
Element e;
cin >> num;
e.data = num;
pq.push(e);
break;
case 2:
if (pq.empty()) {
break;
}
cout <<" 2 data is :" <<pq.top().data<<"\n";
pq.pop();
break;
case 3:
if (pq.empty()) {
cout << "no\n";
break;
}
cout << "3 data is :"<< pq.top().data<<"\n";
break;
}
}
}
为什么要cin
和cout
过不了而scanf
和printf
才过的了
(╯▔皿▔)╯
cin cout 要加 sync_with_stdio
。因为 cin/cout 默认带同步流,很慢。
经验而言,只要输入量数量级大于等于 10^5,我们都推荐关闭同步流。