题目描述 Description
给一个数组a1, a2 … an,找到最长的上升降子序列ab1#includeint a[100005][3],cnt,mx,n;bool b[100005];int main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i][1]); a[i][2]=1; } for(int i=n;i>=1;i--){ int l=0,k=0; for(int j=i+1;j<=n;j++){ if(a[i][1] l){ l=a[j][2]; k=j; } } if(l>0){ a[i][2]=l+1; a[i][3]=k; } } for(int i=1;i<=n;i++){ if(a[i][2]>mx) mx=a[i][2]; } printf("%d\n",mx);}