求教,为什么不对
  • 板块P1929 迷之阶梯
  • 楼主dsw123
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/11 21:06
  • 上次更新2023/11/11 21:20:45
查看原帖
求教,为什么不对
800023
dsw123楼主2023/11/11 21:06
#include <bits/stdc++.h>
using namespace std;

int n;
int a[205], dp[205];


int main(){
    scanf("%d", &n);
    memset(dp, -1, sizeof(dp));
    for (int i = 1; i <= n; i++)
        scanf("%d", &a[i]);
    dp[1] = 0;
    for (int i = 1; i < n; i++){
        if (a[i + 1] - a[i] <= 1)
            dp[i + 1] = dp[i] + 1;
        else
            for (int k = 1; k < i; k++)
                if (a[i - k] + (1<<k) >= a[i + 1])
                    dp[i + 1] = dp[i] + k + 1;
    }
    printf("%d", dp[n]);
    return  0;
}
2023/11/11 21:06
加载中...