当年我无聊写了一份奇怪的代码,现在有点没搞懂QAQ,谁来帮忙解释一下:
#include<stdio.h>
#include<ctype.h>
#include<algorithm>
#define __ *(_-1)
#define ___ lower_bound
using std::___;
int r(){
char c=48;int X=0;
while(X=(X<<3)+(X<<1)+(c^48),isdigit(c=getchar()));
return X;
}
int _[100001],n=r();
int main(){
while(_[(__=r())>*(_+*_)?++*_:___(_+1,_+*_+1,__)-_]=__,--n);
printf("%d",*_);
}