public classmaxSumOfarray{
public static void main(String[]args){
int[]array={1,-2,3,10,-4,7,2,-5};
int max=Integer.MIN_VALUE;
int lastmax=0,newmax=0;
int start=0,end=0;
for(inti=0;i<array.length;++i){
if(array[i]>max) max=array[i];
}
if(max<=0) System.out.println(max);
else{
for(inti=0;i<array.length;++i){
newmax+=array[i];
if(newmax>=lastmax){
lastmax=newmax;
end=i;
}
if(newmax<0){
start=i+1;//因为加到i的时候已经小了,所以从i+1开始计
end=i+1;
lastmax=0;
newmax=0;
}
}
}
System.out.println(lastmax);
for(inti=start;i<=end;++i){
System.out.print(array[i]+" ");
}
}
}