alantanis吧 关注:9贴子:33
  • 0回复贴,共1

最大子序问题,须改正的代码

只看楼主收藏回复

#include<stdio.h>
int a[100000],b[100000];
int main()
{
int i,j,k,n,t,T,x=1;
long s,smax;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
b[0]=0;int head=0,end=0;smax=0;
for(j=1;j<=n;j++)
{
if(b[j-1]<0){
b[j]=a[i];
head=i;
}
else b[j]=b[j-1]+a[j];
if(b[j]>smax)
{ smax=b[j];end=j;}
}
printf("Payoff %d:\n",x);
x++;
printf("%ld ",smax);
printf("%d %d\n",head+1,end);
if(T!=0)
printf("\n");
}
return 0;
}


IP属地:浙江1楼2014-05-30 17:03回复