MLE了 请大佬帮我看一下
查看原帖
MLE了 请大佬帮我看一下
905999
felixabc楼主2023/12/25 19:53
#include<bits/stdc++.h>
using namespace std;
int n,len,g;
int a[100005];
int h(int b){
	if(a[b]>=a[b/2]){
		return 0;
	}
	else{
		swap(a[b],a[b/2]);
		h(b/2);
	}
}
int hf(int b){
	if(a[b]>=a[b*2]&&a[b]>=a[b*2+1]){
		return 0;
	}
	else if(a[b*2]>a[b*2+1]){
		swap(a[b],a[b*2]);
		h(b*2);
	}
	else {
		swap(a[b],a[b*2+1]);
		h(b*2+1);
	}
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		int op;
		cin>>op;
		if(op==1){
			len++;
			cin>>a[len];
			h(len);
		}
		if(op==2){
			cout<<a[1]<<endl;
		}
		if(op==3){
			a[1]=a[len];
			a[len]=0;
			len--;
			hf(1);
		}
	}
}
2023/12/25 19:53
加载中...