这道题就是寻找最优子结构的问题
一开始我的代码是这样的:
#include<stdio.h>
void main(){
int arr[100002],num,count,sign=0,i,j,sum,x,y,b;
scanf("%d",&count);
while(count--){
scanf("%d",&num);
for(i=1;i<=num;i++){
scanf(" %d",&arr[i]);
}
sum=-1001;x=1;y=1;;
for(i=1;i<=num;i++){
b=0;
for(j=i;j<=num;j++){
b += arr[j];
if(b>sum) {sum=b;y=j;x=i;}
}
}
printf("Case %d:\n",++sign);
printf("%d %d %d\n",sum,x,y);
if(count){
printf("\n");
}
}
}
但是提交后RTO了,所以我就百度了一下,看到一种动态规划的思想看着挺巧妙的,就参照着更改一下我的代码。还不错
(不过最懵逼的是hdoj1002题和1003题都没明确要求输出的格式,但两个的输出格式却不相同,真是对输出格式懵逼)