1 条题解

  • 0
    @ 2025-9-10 0:11:58

    C++ :

    #include <cstdio>
     
    #define MAXN 1005UL
     
    #define Max(a,b) ((a)>(b)?(a):(b))
     
    using namespace std;
     
    int n;
    int a[MAXN];
    int f[MAXN];
     
    int main(){
    	int i,j;
    	int ans=0;
    	scanf("%d",&n);
    	for(i=1;i<=n;++i)
    		scanf("%d",&a[i]);
    	for(i=1;i<=n;++i){
    		if(a[i]>i)
    			continue;
    		f[i]=1;
    		for(j=1;j<=i;++j){
    			if(f[j]+1>f[i]&&i-j>=a[i]-a[j]&&a[i]>a[j])
    				f[i]=f[j]+1;
    		}
    		ans=Max(ans,f[i]);
    	}
    	printf("%d",ans);	
    }
    
    • 1

    信息

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