文章

28

粉丝

44

获赞

4

访问

6.7k

头像
最大序列和 题解:
P1172 清华大学/兰州大学2019机试
发布于2024年3月12日 17:38
阅读数 204

这个代码为啥输出不正确啊,求大佬指点

#include<stdio.h>
int main()
{
    long long n,i;
    long long a[1000000];
    while(scanf("%lld",&n)!=EOF)
    {
        long long sum=0;
        long long max=0;
        for(i=0;i<n;i++)
        {
            scanf("%lld",&a[i]);
        }

        for(i=0;i<n;i++)
        {
            if(a[i]>=0)
            {
                sum=sum+a[i];
            }
        &nb...

登录查看完整内容


登录后发布评论

2 条评论
snake VIP
2024年3月12日 17:49

不是用a[i]的正负来判断加不加,因为当前为负,后面可能正的更大,那么还是应该加上去。

所以应该先加到sum上,然后通过sum的正负来判断是否要清0,然后记录sum变化过程中最大值即可。

赞(0)

promising : 回复 snake: 懂了,谢谢

2024年3月12日 21:30