文章
20
粉丝
412
获赞
75
访问
168.5k
#include <iostream>
#include <string.h>
using namespace std;
int height[1005];
int dp[1005][1005];
int main() {
int n, maximun;
while(cin >> n) {
maximun = 1;
memset(dp, 0, sizeof(dp));
for(int i = 1;i <= n;i++) {
cin >> height[i];
dp[i][i] = 1;
}
for(int i = 1;i <= n;i++) {
for(int gap = n-i;gap > 0;gap--) {
for(int j = i+gap;j <= n;j++) {
if(height[j] >= height[j-gap])
dp[i][j] = max(dp[i][j-gap]+1, dp[i][j]);
maximun = max(dp[i][j], maximun);
}
}
}
cout << n-maximun << endl;
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发