#include <stdio.h>
int n, max;
int num[5005];
int dp[5005];
int main()
{
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d", &num[i]);
dp[i] = 1;
}
for (int i = 0; i < n; i++)
{
for (int j = i; j < n; j++)
{
if(num[j] < num[i])
dp[i] = dp[i] > (dp[j] + 1) ? dp[i] : (dp[j] + 1);
}
if (dp[i] > max)
max = dp[i];
}
printf("%d", max);
return 0;
}
刚学动规的蒟蒻一枚