1 条题解

  • 0
    @ 2025-9-10 9:00:37

    C++ :

    #include<iostream>
    using namespace std;
    const int N = 30;
    int a[N],f[N];
    
    int main(){
    	int k;
    	while (cin>>k && k){
    		for (int i=1; i<=k; i++) cin>>a[i];
    		fill(f,f+N,1);
    		for (int i=2; i<=k; i++)
    			for (int j=1; j<=i-1; j++)
    				if (a[j]>=a[i]) f[i]=max(f[i],f[j]+1);
    		int ans=f[1];
    		for (int i=2; i<=k; i++) ans=max(ans,f[i]);
    		cout<<ans<<endl;
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    3574
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者