Max Num

来源:互联网 发布:手机能注册淘宝网店吗 编辑:程序博客网 时间:2024/05/22 17:05

Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14. 

The first line of the input contains an integer T(1<=T<=20) which means the number of test cases. Then T lines follow, each line starts with a number N(1<=N<=100000), then N integers followed(all the integers are between -1000 and 1000)
#include <stdio.h>int data[100000];int main(){    int i,j,k,l,sum,b,e,max=0,t;    scanf("%d",&i);    for (j=1;j<=i;j++)    {        max = -100000;        scanf("%d",&k);        for (sum=0, l=0, t=0 , e=0;l<k;l++)        {            scanf("%d",&data[l]);            if (sum>=0)            {                sum+=data[l];            }            else            {                sum = data[l];                t = l;            }            if (sum>max)            {                max = sum;                b = t;                e = l;            }        }        printf("Case %d:\n",j);        printf("%d %d %d\n",max,b+1,e+1);        if (j != i)            printf("\n");    }    return 1;}