#include <iostream>
using namespace std;
#include <vector>
int main() {
int num;
cin >> num;
vector<int> nums(num,0);
vector<int> dp(num,1);
int res = 1;
for(int i = 0; i < num ;i++){
cin >> nums[i];
}
for(int i = 1; i < num; i++){
for(int j = 0; j < i ;j++){
if(nums[i] > nums[j]){
dp[i] = max(dp[i],dp[j]+1);
}
if(dp[i]>res){
res = dp[i];
}
}
}
cout << res << endl;
}
最长递增子序列问题

京公网安备 11010502036488号