import java.util.Scanner;
import java.io.*;
import java.math.BigDecimal;
public class array1 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner sc=new Scanner(System.in);
System.out.println("请输入数组的长度");
int n=sc.nextInt();
int array[]=new int[n];
int array2[]=new int[n];
System.out.println("请依次输入数组的每个值");
for(int i=0;i<n;i++) {
array[i]=sc.nextInt();
}
for(int i=0;i<n;i++) {
array2[i]=0;
}
int max;
int[] array3=new int[2*n-1];
for(int j=0;j<n;j++) {
array3[j]=array[j];
}
for(int i=n;i<2*n-1;i++)
array3[i]=array[i-n];
for(int i=0;i<2*n-1;i++) {
System.out.print(array3[i]+" ");
}
/*当前最大子数组,从哪个到哪个,你检查了几个子数组了,还差几个。*/
System.out.print("\n");
int num=0;//数组个数。
System.out.println("输入0开始");
int number=sc.nextInt();
if(number==0) {
for(int i=0;i<n;i++) {
max=array3[i];
int sum=0;
//System.out.print("abc"+max+" ");
int temp=i;
//for(int j=i;j<2*n-1;j++) {
for(int j=i;j<=n-1+i;j++) {
num++;
sum=sum+array3[j];
if((max<sum)&&(j-i+1<=n)) {
temp=j;
//System.out.println("123"+temp);
max=sum;
}
System.out.println("输入0执行下一步");
int number1=sc.nextInt();
if(number1==0) {
System.out.println("当前执行第"+num+"步,当前正在计算第"+num+"个子数组,"+"从数"+array3[i]+"开始,"+"从数"+array3[j]+"结束,"+"当前最大子数组和为"+max+",最大子数组范围"+array3[i]+"到"+array3[temp]);
}
else {
System.out.println("输入有误,程序退出");
System.exit(0);
}
}
array2[i]=max;
//System.out.println("def"+max);
}
}
else {
System.out.println("输入有误,程序退出");
System.exit(0);
}
int k=array2[0];
for(int i=0;i<n;i++) {
System.out.println("ghi"+array2[i]);
}
for(int i=0;i<n;i++) {
if(array2[i]>k) {
k=array2[i];
}
}
System.out.println("最大值"+k);
}
}