#include<bits/stdc++.h>
using namespace std;

int a[11000],d[11000],g[11000];
int main()
{
	int n,i;
	cin>>n;
	for (i=0; i<n; i++){
		cin>>a[i];
		d[i]=1;
	}
	
	for (i=0; i<n; i++) g[i]=100000000;
	for (i=0; i<n; i++){
		int k=lower_bound(g+1,g+n+1,a[i])-g;
		d[i]=k;
		g[k]=a[i];
	}
	
	cout<<n-d[n-1]+1;
	
	return 0;
}