From d907659b38d6124cfe43ecfd9c080230e483bdd2 Mon Sep 17 00:00:00 2001 From: Kirito <1362050620@qq.com> Date: Wed, 20 Jul 2016 19:55:21 +0800 Subject: [PATCH] Create 1003.cpp --- HDOJ/1003.cpp | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 HDOJ/1003.cpp diff --git a/HDOJ/1003.cpp b/HDOJ/1003.cpp new file mode 100644 index 0000000..dc69b10 --- /dev/null +++ b/HDOJ/1003.cpp @@ -0,0 +1,63 @@ +#include +#include +#include +using namespace std; +#define MAXN 100005 +int A[MAXN]; +int main() +{ + int t; + scanf("%d",&t); + for(int ii=0;iiinMAX) + { + inMAX=A[i]; + inMAXpos=i; + } + } + if(inMAX<0) + { + printf("Case %d:\n%d %d %d\n",ii+1,inMAX,inMAXpos+1,inMAXpos+1); + if(t-ii>1) printf("\n"); + continue; + } + int sum=A[0]; + int L=0; + int R=0; + int maxsum=0; + int maxL=0; + int maxR=0; + for(int i=1;i=0) + { + sum+=A[i]; + if(A[i]>0) R=i; + } + else + { + sum=A[i]; + L=R=i; + } + if(sum>maxsum) + { + maxsum=sum; + maxL=L; + maxR=R; + } + } + printf("Case %d:\n%d %d %d\n",ii+1,maxsum,maxL+1,maxR+1); + if(t-ii>1) printf("\n"); + } + return 0; +}