1003 max sum

来源:互联网 发布:java ssh 教程 编辑:程序博客网 时间:2024/06/15 10:23

1003 max sum

#include <stdio.h>#include <stdlib.h>#define  MAXN 100005int a[MAXN];int sum;int ans[MAXN];int loc[MAXN][2];int main(){    int T,t,n,i,p,q,tp,sum,max1;    scanf("%d",&T);//    printf("%d= ",T);    t=T;    while(T--)    {        sum=0;max1=-1005;        scanf("%d",&n);        for(i=1;i<=n;i++)        {            scanf("%d",&a[i]);        }        tp=p=q=1;        for(i=1;i<=n;i++)        {            sum+=a[i];            if(sum>=max1)            {                max1=sum;                q=i;                p=tp;            }            if(sum<0){                sum=0;                tp=i+1;            }        }        ans[t-T]=max1;        loc[t-T][0]=p;        loc[t-T][1]=q;    }    for(i=1;i<t;i++)    {        printf("Case %d:\n",i);        printf("%d %d %d\n\n",ans[i],loc[i][0],loc[i][1]);    }        printf("Case %d:\n",t);        printf("%d %d %d\n",ans[t],loc[t][0],loc[t][1]);    return 0;}


0 0
原创粉丝点击