28分求条 WA#3~#11 手写堆
查看原帖
28分求条 WA#3~#11 手写堆
988626
wjc2857楼主2025/8/5 10:28
#include<bits/stdc++.h>
using namespace std;
int a[100003],len;
void d_put(int x){
	a[++len]=x;
	int now,fa;
	now=len;
	while(now>1){
		fa=now/2;
		if(a[now]>a[fa]){
			swap(a[now],a[fa]);
			now=fa;
		}else{
			break;
		}
	}
}
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		int x;
		cin>>x;
		if(x==1){
			int y;
			cin>>y;
			d_put(y);
		}else if(x==2){
			cout<<a[len]<<endl;
		}else{
			len--;
		}
	}
	return 0;
}
2025/8/5 10:28
加载中...