RE求助QAQ

P1181 数列分段 Section I

```cpp while(u<=m) { r++; u=u+a[r]; } ``` 这个循环里面r有可能大于n,然后a[r]就等于0了,然后u<=m变成死循环,r一直加就爆内存了 改成 ```cpp while(r<=n&&u<=m) { r++; u=u+a[r]; } ``` 即可
by YZL11111 @ 2020-02-27 00:41:56


@[Shadowlove](/user/303613)
by YZL11111 @ 2020-02-27 00:42:07


```cpp int n,m,sum=0,l=1,r=1,u; ``` 放在外面的话假设你r到了1000005,内存溢出但是由于在堆上的空间地址是连续的,所以a[1000005] = n,那么u = u + u[r] > m所以会跳出循环,答案就正确了 @[Shadowlove](/user/303613)
by YZL11111 @ 2020-02-27 00:45:19


@[YZL11111](/user/226316) 哦哦 明白 谢谢大佬
by Shadowlove @ 2020-02-27 13:03:07


|