已经写得很规范了,但就是有两个点错的
望巨佬帮帮看下
in: 20
189 188 228 158 185 148 133 141 140 173 221 211 176 194 158 200 193 168 193 156
out:11
#include<bits/stdc++.h>
using namespace std;
int a[10000],u[10000],d[10000];
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];u[i]=1;d[i]=1;
}
for(int i=2;i<=n;i++){
for(int j=1;j<i;j++){
if(a[j]<a[i]){
u[i]=max(u[j]+1,u[i]);
}
}
}
for(int i=n-1;i>=1;i--){
for(int j=i+1;j<n;j++){
if(a[j]<a[i]){
d[i]=max(d[j]+1,d[i]);
}
}
}
int ans=0;
for(int i=1;i<=n;i++){
ans=max(ans,u[i]+d[i]-1);
}
cout<<n-ans;
return 0;
}