1 条题解

  • 1
    @ 2022-12-25 15:34:27
    #include<algorithm>
    #include<iostream>
    #include<cstring>
    using namespace std;
    int a[1005];
    int f[1005];
    int main(){
    	int n;
    	int maxLen,needNum;
    	n=0;
    	while(cin>>a[n])
    		n++;
    	maxLen=1;needNum=1;
    	f[0]=1;
    	for(int i=1;i<n;i++){
    		f[i]=0;
    		for(int j=0;j<i;j++)
    			if(a[j]>=a[i])
    				f[i]=max(f[i],f[j]);
    		f[i]++;
    		if(f[i]>maxLen)
    			maxLen=f[i];
    	}
    	for(int i=1;i<n;i++){
    		f[i]=0;
    		for(int j=0;j<i;j++)
    			if(a[j]<a[i])
    				f[i]=max(f[i],f[j]);
    		f[i]++;
    		if(f[i]>needNum)
    			needNum=f[i];
    	}
    	cout<<maxLen<<endl<<needNum<<endl;
    	
    	return 0;
    }
    
    • 1

    信息

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