1142-最大连续和

描述

给出一个长度为n的序列A1A2An,求最大的连续和。要求找到1ij n,使得Ai+Ai+1+…+Aj尽量大。

输入

1行输入一个正整数nn1000),此后输入n行,每行给出一个测试用例,包含正整数mm个整数,以空格分隔各个数。

输出

输出n行。对于每一个测试用例,在一行输出最大的连续和。

样例输入

2

3 1 -1 3

3 1 2 3

样例输出

3

6

#include<stdio.h>

int a[1001],s[1001];

int main()

{

    int t,n,i,max,min;

    scanf("%d",&t);

    while(t--)

    {

        scanf("%d",&n);

        for(i=1;i<=n;i++)

            scanf("%d",&a[i]);

        s[0]=0;

        for(i=1;i<=n;i++)

            s[i]=s[i-1]+a[i];

        max=-0x7fffffff;

        min=s[0];

        for(i=1;i<=n;i++)

        {

            if(s[i]-min>max)

                max=s[i]-min;

            if(s[i]<min)

                min=s[i];

        }

        printf("%d\n",max);

    }

}  

  

你可能感兴趣的:(1142-最大连续和)