Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta
#include <stdio.h>
#define N 10005
int
a[N],b[N],c[N];
int
main()
{
int
n,j,tmax,ti,tj,p;
while
(
scanf
(
"%d"
,&n),n)
{
p=0;
for
(j=0;j<n;j++)
{
scanf
(
"%d"
,&a[j]);
if
(a[j]<0)
p++;
}
if
(p==n)
{
printf
(
"0 %d %d\n"
,a[0],a[n-1]);
continue
;
}
c[n-1]=n-1;
b[n-1]=a[n-1];
//注意tmax,ti,tj初始化
tmax=a[n-1];
ti=tj=n-1;
for
(j=n-2;j>=0;j--)
{
if
(b[j+1]>0) {
//这里不能是>=
b[j]=a[j]+b[j+1];
c[j]=c[j+1];
}
else
{
b[j]=a[j];
c[j]=j;
}
if
(b[j]>=tmax){
tmax=b[j];
ti=j;
tj=c[j];
}
}
printf
(
"%d %d %d\n"
,tmax,a[ti],a[tj]);
}
}
|
本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/archive/2012/05/13/2498061.html,如需转载请自行联系原作者