$r$ 的范围不够大,至少要开$10^3\times10^5=10^8$
by BGM114514 @ 2024-04-06 10:21:20
slef(mid)要>0,因为等于0就刚好尬了
by BGM114514 @ 2024-04-06 10:22:11
@20120827ciz
by BGM114514 @ 2024-04-06 10:22:35
@[20120827cjz](/user/745395) 楼上正解
by xudongyi1 @ 2024-04-06 10:29:47
帮忙@了一下
by xudongyi1 @ 2024-04-06 10:30:28
@[20120827cjz](/user/745395) 给个简单的做法,就是前缀和,很好理解。
```cpp
#include<bits/stdc++.h>
using namespace std;
int main()
{
int minn=1010,ans=0,n;
cin>>n;
for(int i=1;i<=n;i++)
{
int a;
cin>>a;
ans+=a;//当前血量
minn=min(minn,ans);//血量最低的时候
}
if(minn>0)
{
cout<<1;//每时血量都大于0
}
else
{
cout<<abs(minn)+1;//取血量最小的取绝对值还得加一,不如血量会变0
}
return 0;
}
```
by dwr_2011 @ 2024-04-06 10:34:09
谢谢诸位大神
by 20120827cjz @ 2024-04-06 10:53:39