6 条题解

  • 1
    @ 2025-11-2 18:58:28
    #include<algorithm>
    #include<iostream>
    const int N=1e3+10;
    const int INF=0x3f3f3f3f;
    using namespace std;
    int n,t,a[N],b[N],c[N],d[N],e,m=-1;
    int main()
    {
    	cin>>n;
    	for(int i=1;i<=n;i=i+1){
    		cin>>a[i];
    	}
    	for(int i=1;i<=n;i=i+1)
    	{
    		b[i]=1;
    		for(int j=1;j<i;j=j+1)
    		{
    			if((a[i]>a[j])&&(b[i]<(b[j]+1)))
    			{
    				b[i]=b[j]+1;
    			}
    		}
    	}
    	for(int i=n;i>=1;i=i-1)
    	{
    		c[i]=1;
    		e=0;
    		for(int j=i+1;j<=n;j=j+1)
    		{
    			if((a[i]>a[j])&&(c[i]<(c[j]+1)))
    			{
    				c[i]=c[j]+1;
    			}
    		}
    		m=max(b[i]+c[i],m);
    	}
    	cout<<m-1;
    	return 0;
    }
    
    
    

    信息

    ID
    1413
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    529
    已通过
    133
    上传者