北大c语言算法基础,求最长上升子序列--<我为人人>
#include <iostream>
#include<algorithm>
using namespace std;
int main() {
const int MAXL = 1010;
int a[MAXL], maxLen[MAXL];
int n; //数组元素数
cin >> n;
for (int i = 1; i <= n; i++) {
cin >>a[i] ;
maxLen[i] = 1;
}
for(int i=1;i<n;i++)
for (int j =i+1; j <=n; j++) { //更新i之后的元素的状态
if (a[j] > a[i])
maxLen[j] = max(maxLen[j], maxLen[i] + 1);
}
cout << *max_element(maxLen + 1, maxLen + n + 1);
return 0;
}