用动态规划只过了20fen
查看原帖
用动态规划只过了20fen
866969
telankesi楼主2023/1/15 19:53

#include<stdio.h>
int n;
int a[1000];
int f1[108], f2[108];
int max(int x, int y) {
    return x > y ? x : y;
}
int main()
{
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) {
        scanf("%d", &a[i]);
        
   }
   
    for (int i = 1; i <= n; i++) {
        f1[i] = 1;
        for (int j = 1; j < i; j++) {
            if (a[i] > a[j])f1[i] = max(f1[i], f1[j] + 1);
           
        }
    }
    for (int i = n; i >= 1; i--) {
        f2[i] = 1;
        for (int j = n; j > i; j--) {
            if (a[i] > a[j])
                f2[i] = max(f2[i], f2[j] + 1);
           
            
        }
    }
    int ans,t=0;
    for (int i = 1; i <= n; i++) {
        ans = f2[i] + f1[i] - 1;
        if (ans > t)t = ans;
    }
    printf("%d", n - ans);
    return 0;
}
2023/1/15 19:53
加载中...