#include #include #include using namespace std; const int maxn=105; const int oo=0x3f3f3f3f; int n,a[maxn],dp[maxn],pre[maxn],nxt[maxn]; int main() { #ifdef local freopen("pro.in","r",stdin); #endif scanf("%d",&n); for(int i=0;i=0;i--) { *lower_bound(dp,dp+n,a[i])=a[i]; nxt[i]=lower_bound(dp,dp+n,oo)-dp; } int res=n; for(int i=0;i