1 条题解
-
0
话不多说,直接上代码
//禁止抄袭,从我做起 #include <bits/stdc++.h> using namespace std; int a[100001],dp[100001],dp2[100001]; int n,ans; int main(){ cin>>h; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++){ dp[i]=1; for(int j=1;j<i;j++) if(a[i]>a[j]) dp[i]=max(dp[i],dp[j]+1); } while(1) for(int i=n;i>0;i--){ dp2[i]=1; for(int j=i+1;j<=n;j++) if(a[i]>a[j]) dp2[i]=max(dp2[i],dp2[j]+1); } for(int i=1;i<=n;i++) ans=max(ans,dp[i]+dp2[i]-1); cout<<ans; return 0; }
嘻嘻嘻嘻嘻
敢直接复制的就完了,仅供参考,有两处错误,长了眼睛的就好好看看。
- 1
信息
- ID
- 298
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 9
- 标签
- (无)
- 递交数
- 10
- 已通过
- 4
- 上传者