1 # include<iostream> 2 # include<cstring> 3 # include<algorithm> 4 using namespace std; 5 int main(){ 6 int n=0; 7 int a[30]; 8 int b[30]; 9 int i=0,j=0,max=0; 10 while(cin>>n){ 11 memset(b,0,sizeof(b)); 12 for(int i=0;i<n;i++) 13 cin>>a[i]; 14 b[0]=1; 15 for(i=1;i<n;i++) 16 { 17 max=0; 18 for(j=0;j<i;j++) 19 { 20 if(a[j]>=a[i]) 21 { 22 if(b[j]>max) 23 max=b[j]; 24 } 25 } 26 b[i]=max+1; 27 } 28 max=0; 29 for(i=0;i<n;i++) 30 if(max<b[i]) 31 max=b[i]; 32 cout<<max<<endl; 33 } 34 return 0; 35 }
关键公式d[j]=max(d[i]+1|d[i]<=d[j])
时间: 2024-10-11 08:41:07