样例过了但WA

B3628 机器猫斗恶龙

`int temp=i,summ;` 你的 $summ$ 并未进行初始化。
by thluogu @ 2023-08-26 16:22:36


@[thluogu](/user/916028) emmm,改完之后还是WA
by zhaobingcheng @ 2023-08-26 16:55:23


同学,你的循环有问题 ``` for(int i=1;i<=n;i++){ if(flag[i]==false){ sum+=-a[i]; } else{ int temp=i,summ; for(int j=temp+1;j<=n;j++){ summ+=a[j]; } if(a[i]>=summ){ cout<<sum+1; return 0; } else{ sum+=summ-a[i]; } } } ``` 题目中的n>=100000 双层应该是会炸的 试试前缀和吧
by 2Bxzj @ 2023-09-07 16:10:42


AC代码 ```cpp #include<bits/stdc++.h> using namespace std; int n,a,s,t; int main(){ cin>>n; for(int i=1;i<=n;i++) { cin>>a; s+=a; if(s<=0)t+=abs(s)+1,s=1; } cout<<t; return 0; } ```
by zhengdaxin @ 2023-09-21 17:30:44


|