读书人

hdu acm1024 最大m子段和有关问题

发布时间: 2012-09-10 22:20:12 作者: rapoo

hdu acm1024 最大m子段和问题
下面是我的代码数据运行正确但在oj上WA了。望改正。注:不要代码。

Java code
import java.util.Scanner;public class Main  {      public static void main(String args[])    {        int n,m;        Scanner cin=new Scanner(System.in);        while(cin.hasNext())        {            m=cin.nextInt();            n=cin.nextInt();            int a[]=new int[n+1];            int b[]=new int[n+1];            int c[]=new int[n+1];                int max=0;            for(int i=1;i<=n;i++)            {                a[i]=cin.nextInt();            }            for(int i=1,j=0;i<=m;i++)            {                b[i]=b[i-1]+a[i];                for(j=i+1;j<=n-m+i;j++)                {                    b[j]=b[j-1]>c[j-1]?b[j-1]+a[j]:c[j-1]+a[j];                    max=max<b[j]?b[j]:max;                    c[j-1]=b[j-1]>c[j-2]?b[j-1]:c[j-2];                }                c[j-1]=b[j-1]>c[j-2]?b[j-1]:c[j-2];            }            System.out.println(max);        }    }}//2 6 -1 4 -2 3 -2 3             8//3 6  2 3 -7 6 4 -5             15//6 8  1 2 3  4 5  6  7 8        36 


[解决办法]
c[0]没有初始化,但是默认是0也是对的啊。
测试一组10 20 -1 8 -9 -12 3 -4 6 9 -20 2 31 -2 -7 33 4 -5 8 -18 2 -3也是正确的。看楼下怎么解释

读书人网 >软件架构设计

热点推荐