求调赏关
查看原帖
求调赏关
902351
Little_x_starTYJ楼主2023/8/18 11:55
#include <bits/stdc++.h>
using namespace std;
int a[110];
int dp[110];
int main() {
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++) cin >> a[i];
    int id = 0;
    for (int i = 1; i <= n; i++) {
        dp[i] = 1;
        for (int j = 1; j < i; j++)
            if (a[j] <= a[i])
                dp[i] = dp[j] + 1 > dp[i] ? dp[j] + 1 : dp[i];
    }
    int ans = 0;
    for (int i = 1; i <= n; i++) {
        if (ans < dp[i]) {
            ans = dp[i];
            id = i + 1;
        }
    }
    memset(dp, 214748364, sizeof(dp));
    for (int i = id; i <= n; i++) {
        dp[i] = 1;
        for (int j = 1; j < i; j++)
            if (a[j] >= a[i])
                dp[i] = dp[j] + 1 > dp[i] ? dp[j] + 1 : dp[i];
    }
    int cnt = 0;
    for (int i = 1; i <= n; i++) {
        if (cnt < dp[i]) {
            cnt = dp[i];
        }
    }
    cout << n - ans - cnt;
}
2023/8/18 11:55
加载中...