#include<iostream>
#include<cstring>
#include<math.h>
#include<limits.h>
using namespace std;
/*Input:
5
2 5 1 3 4
*/
int main()
{
int n,x,k,tmp;
cin>>n;
int a[10005];
memset(a,-1,sizeof(a));
for(int i=1;i<n+1;i++){
cin>>x;
k=1;
while(a[k]!=-1){
if(x<a[k]){
tmp=k;
k=2*k;
}else if(x>a[k]){
tmp=k;
k=2*k+1;
}
}
a[k]=x;
if(k==1) tmp=0;
cout<<a[tmp]<<endl;
}
return 0;
}
BUPT OJ |130. 二叉排序树
最新推荐文章于 2023-05-01 02:45:00 发布