ACM 1003 Max Sum

来源:互联网 发布:淘宝店铺装修页头图片 编辑:程序博客网 时间:2024/05/19 00:16

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.

#include <stdio.h>int a[100010];int main(){    int T,N,i,cas=1;    int start,end,temp,sum,max=0;    scanf("%d",&T);    while(T--){        scanf("%d",&N);        start=end=temp=1;        sum=0;        max=-1001;        for(i=1;i<=N;i++){            scanf("%d",&a[i]);            sum+=a[i];            if(sum>max){                max=sum;                start=temp;                end=i;            }            if(sum<0){                sum=0;                temp=i+1;            }        }        printf("Case %d:\n",cas++);        printf("%d %d %d\n",max,start,end);        if(T)            printf("\n");    }    return 0;}

洛水成诗