#include<iostream>
#include<algorithm>
using namespace std;
int len[5001] , a[5001];
int main()
{
int i,j,n;
int max;
cin>>n; //注意输入不要漏啊
for(i = 1; i <= n; i++)
{
cin>>a[i];
}
len[n] = 1;
for(i = n-1; i >= 1; i--)
{
max = 0;
for(j = i; j <= n; j++)
{
if(a[i] < a[j] && max < len[j])
{
max = len[j];
}
}
len[i] = max + 1;
}
sort(len,len+n+1);
cout<<len[n]<<endl;
return 0;
}
本人很水,方法也很水...望轻喷
(其实 最长严格上升 和 最长上升 有什么区别?查找ing.....)
*************************************************************************************仅供吐槽