import java.util.Scanner;import static java.lang.Math.log;public class top9 {//求树的每一层的和public static void main(String [] args){Scanner scanner=new Scanner(System.in);int n=scanner.nextInt();int [] arr=new int[n];for(int i=0;i<n;i++){arr[i]=scanner.nextInt();}int max=0;int m=0;int x=(int)(log(n)/log(2))+1;System.out.println(x);for(int i=0;i<x;i++){int sum=0;int pow = (int) Math.pow(2, i);for(int j=pow-1;j<(2*pow)-1;j++){sum+=arr[j];}if(sum>max){max=sum;m=i;}}System.out.println(m+1);}}
有点小问题,测试点没有完全的通过
注意如何手动的转log2,这个地方应该是因为精度问题存在一些小问题的