Max Sum

来源:互联网 发布:photoshop8.0软件下载 编辑:程序博客网 时间:2024/05/21 10:50

题目链接

#include<stdio.h>#include<iostream>#include<stdlib.h>//calloc的头文件using namespace std;int main(){    freopen("in.txt","r",stdin);    int maxn,i,j,l,r,sum,cas=0;    int T,N;    int *a;    scanf("%d",&T);//用cin的ET大很多    while(T--){        scanf("%d",&N);        a=(int*)calloc(N,sizeof(int));//用new超时了        for(i=0;i<N;i++){            scanf("%d",&a[i]);        }        for(l=0,r=0,i=0,maxn=a[0],sum=0;i<N;i++){            for(sum=0,j=i;j<N;j++){                sum+=a[j];                if(sum>maxn){                    l=i;                    r=j;                    maxn=sum;                }                if(sum<0){                    i=j;                    sum=0;                    break;                }            }        }        printf("Case %d:\n%d %d %d\n",++cas,maxn,l+1,r+1);        if(T)            printf("\n");    }    return 0;}
0 0
原创粉丝点击