HDU 1003 Max Sum(Java)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a17865569022/article/details/82191383

这里写图片描述
这道题目利用C的思路解决即可,但是要注意最后的格式输出,换行要么用println,要么用printf(“……%n”)输出。

import java.util.*;
public class Main {
    private static final int M = -0x3f3f3f3f;
    private static Scanner in;
    public static void main(String[] args)
    {
        in=new Scanner (System.in);
        int t=in.nextInt();
        for(int i=1;i<=t;i++)
        {
            int n=in.nextInt();
            int x=1,y=1,s=1;int sum=0,Max=M;
            for(int j=1;j<=n;j++)
            {
                int e=in.nextInt();
                sum+=e;
                if(Max<sum)
                {
                    Max=sum;
                    x=s;
                    y=j;
                }
                if(sum<0)
                {
                    sum=0;
                    s=j+1;
                }
            }
            System.out.printf("Case %d:%n", i);
            System.out.printf("%d %d %d%n",Max,x,y);
            if(i!=t) System.out.println();
        }
    }
}

猜你喜欢

转载自blog.csdn.net/a17865569022/article/details/82191383