测试点10之后都tle求调
查看原帖
测试点10之后都tle求调
1276646
JayjayXiao楼主2024/10/24 12:50
#include<iostream> 
#include<cstdio>
#include<cstdlib>  
#include<cmath> 
using namespace std;  
int  main(){
  //freopen("dd.in","r",stdin);
  //freopen("dd.out","w",stdout);
  int n=1,a[100100],f[100100];
  while(scanf("%d",&a[n])!=EOF){n++;}
  n--;
  for(int i=1;i<=n;i++){f[i]=1;}
  
  for( int i=2;i<=n;i++ ){
    for( int j=1;j<=i-1;j++ ){
	   if( a[j]>=a[i] && f[j]+1>f[i] ){
	     f[i]=f[j]+1;
	   }
	}
  } 
  int ans=-999;
  for(int i=1;i<=n;i++){
    if(ans<f[i]){ans=f[i];}
  }
  cout<<ans<<"\n";
  //=======================
  for(int i=1;i<=n;i++){
	f[i]=1;  	
  } 
  for( int i=n-1;i>=1;i-- ){
    for( int j=n;j>=i+1;j-- ){
	   if( a[i]<a[j] && f[j]+1>f[i] ){
	     f[i]=f[j]+1;
	   }
	}
  } 
  ans=-999;
  for(int i=1;i<=n;i++){
    if(f[i]>ans){ans=f[i];}
}
  cout<<ans;
  //fclose(stdin);
  //fclose(stdout);
  ans=0;
  return 0;}

求指点

2024/10/24 12:50
加载中...