最大序列和 题解:
	这个代码为啥输出不正确啊,求大佬指点
#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...
    
        
        
        
 
    
        
        
登录后发布评论
不是用a[i]的正负来判断加不加,因为当前为负,后面可能正的更大,那么还是应该加上去。
所以应该先加到sum上,然后通过sum的正负来判断是否要清0,然后记录sum变化过程中最大值即可。