1 #include2 using namespace std; 3 #include 4 5 const int MaxN=100001; 6 7 int n,i,top=0,x,stack[MaxN]; 8 9 int main(){10 cin>>n;11 stack[top]=-1;12 for(i=1;i<=n;i++){13 cin>>x;14 if(x>stack[top]){stack[++top]=x;}15 else16 {17 int low=0,high=top,mid;18 while(low >1;20 if(x>stack[mid])21 low=mid+1;22 else23 high=mid-1;24 }25 stack[low]=x;26 }27 }28 cout<