合唱队型……反过来
2024-11-16 16:41:44
发布于:广东
1阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int dp[1005],dp1[1005],a[1005];
int main(){
int n;
cin >> n;
for(int i = 0;i < n;i ++){
cin >> a[i];
int amax = 0;
for(int j = 0;j < i;j ++){
if(a[j] < a[i] and dp[j] > amax){
amax = dp[j];
}
}
dp[i] = amax + 1;
}
int ans = 0;
for(int i = n - 1;i >= 0;i --){
int amax = 0;
for(int j = n - 1;j > i;j --){
if(a[j] < a[i] and dp1[j] > amax){
amax = dp1[j];
}
}
dp1[i] = amax + 1;
if(dp1[i] + dp[i] - 1 > ans) ans = dp1[i] + dp[i] - 1;
}
cout << ans;
return 0;
}
这里空空如也
有帮助,赞一个