总体思路明确,但是犯了2个非常低级的错误。。。
1.判断错误条件一开始写的(mn>=0||d[n-1]>=0) 实际条件是mn>=0||(d[n-1]>=0&&H+mn>0
2.d[i]不是原来的伤害,而是从iter*n+0时刻开始到这个时候的一个总伤害值,在最后一次循环的伤害计算时犯错
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define maxn 800000
ll d[maxn];
int main(void){
ll H,n,ans;
cin>>H>>n;
ll mn=maxn;
d[0]=0;
for(ll i=0;i<n;i++){
ll cha;
cin>&g