HOOJ1231为什么运行不正确....
HDOJ1231:http://acm.hdu.我的代码实在返现不知道错在哪儿了,运行数据测试不正确;
哪位大哥帮我看看呗,感激不尽!
代码:
程序代码:#include<stdio.h>
#include<stdlib.h>
#define MAX 10001
//动态规划:状态方程:c[n]=max{c[n-1]+a[n],a[n]};
int main(){
int K;
while(scanf("%d",&K)!=EOF){
if(K==0)break;
int a[MAX],i;
for(i=0;i<K;i++){
scanf("%d",&a[i]);
}
int c[MAX],start[MAX],maxNum,start0,end;
c[0]=a[0];//保存最大值;
start[0]=a[0];
for(i=1;i<K;i++){
if(c[i-1]+a[i]>a[i]){
start[i]=start[i-1];
c[i]=c[i-1]+a[i];
}
else{
start[i]=a[i];
c[i]=a[i];
}
}
maxNum=c[0];
start0=a[0];
end=a[0];
for(i=1;i<K;i++){
if(maxNum<a[i]){
maxNum=a[i];
start0=start[i];
end=a[i];
}
}
if(maxNum<0){
printf("0 %d %d\n",a[0],a[K-1]);
}
else{
printf("%d %d %d\n",maxNum,start0,end);
}
}
}
[ 本帖最后由 xiajun0706 于 2011-2-25 18:08 编辑 ]


