7 条题解
-
1
#include<bits/stdc++.h> using namespace std; const int N=1005; const int INF=0x3f3f3f3f; int n,a[N],up[N],down[N],ans,f; int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; up[i]=1; down[i]=1; } for(int i=1;i<=n;i++){ for(int j=1;j<i;j++){ if(a[j]<a[i]) up[i]=max(up[i],up[j]+1); } } for(int i=n;i>=1;i--){ for(int j=i+1;j<=n;j++){ if(a[j]<a[i]) down[i]=max(down[i],down[j]+1); } } for(int i=1;i<=n;i++){ ans=max(ans,up[i]-1+down[i]); } cout<<ans; return 0; }
信息
- ID
- 1413
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 597
- 已通过
- 159
- 上传者