无优化
#include<iostream>
using namespace std;
struct b{
int no;
int num;
int long_;
int mark;
}b[100];
int main(){
int n;
cin>>n;
//存
for(int i=1;i<=n;i++){
cin>>b[i].num;
b[i].no=i;
b[i].long_=1;
b[i].mark=0;
}
for(int i=n-1;i>=1;i--){
for(int j=i;j<=n;j++){
if(b[i].num<b[j].num){
if(b[i].long_<=b[j].long_){
b[i].long_=b[j].long_+1;
b[i].mark=b[j].no;
}
}
}
}
int min=-1;
for(int i=1;i<=n;i++){
if(min<b[i].long_)min=b[i].long_;
}
cout<<min;
}