hdu 1003 最大子段和

来源:互联网 发布:淘宝退货运费险怎么办 编辑:程序博客网 时间:2024/06/01 16:12

第二个if和第一个顺序不能颠倒,应为sum置0了(可能max<0,得到的结果就错了),其实多设置一个temp变量就可以颠倒位置了

import java.util.Scanner;public class Main {public static void main(String[] args){Scanner cin=new Scanner(System.in);int c=cin.nextInt();for(int k=1;k<=c;k++){int max=-99999999,sum=0,start=0,end=0,st=0;int n=cin.nextInt();for(int i=0;i<n;i++){sum+=cin.nextInt();if(sum>max){max=sum;start=st;end=i;}if(sum<0){st=i+1;sum=0;}}System.out.println("Case "+k+":");System.out.print(max+" "+(start+1)+" "+(end+1));if(k!=c)System.out.println("\n");}}}


 

原创粉丝点击