7-1 最大子列和问题

#include <stdio.h>
int main()
{
    int N, sum1=0, sum2=0, a[100001];
    scanf("%d",&N);
    for(int i=0; i<N; i++)
        scanf("%d",&a[i]);
    sum1 = a[0];
    for(int i=0; i<N; i++)
    {
        sum2 = a[i];
        if(sum2 > sum1)
            sum1 = sum2;
        for(int j=i+1; j<N;  j++)
        {
            if(sum2 + a[j] > sum1)
            {
                sum1 = sum2 + a[j];
                sum2 = sum2 + a[j];
            }
            else
                sum2 = sum2 + a[j];
        }
    }
    if(sum1 <= 0)
        printf("0");
    else
        printf("%d", sum1);
    return 0;
}

上一篇:C语言 数据结构课设 航空订票系统


下一篇:c/c++下常用输入问题汇总