我第一个样例用我的方程算出 210。
magic[i][j]
dp[i][j] 表示第 i 秒是否使用魔法能跑的最远距离 (j = 0 跑,j = 1 用魔法,j = 2 休息)
dp[T][0] = 0
dp[T][1] = 0
dp[T][2] = 0
magic[T][0] = M;
magic[T][1] = M;
magic[T][2] = M;
magic[i][0] = max(magic[i + 1][0], max(magic[i + 1][1], magic[i + 2][2]));
magic[i][1] = max(magic[i + 1][0], max(magic[i + 1][1], magic[i + 2][2])) - 10;
magic[i][2] = max(magic[i + 1][0], max(magic[i + 1][1], magic[i + 2][2])) + 4;
dp[i][0] = max(dp[i + 1][0], max(dp[i + 1][1], dp[i + 1][2])) + 17;
dp[i][1] = max(dp[i + 1][0], max(dp[i + 1][1], dp[i + 1][2])) + magic[i][1] >= 0 ? 60 : 0;
dp[i][2] = max(dp[i + 1][0], max(dp[i + 1][1], dp[i + 1][2]));