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,这个地方应该是因为精度问题存在一些小问题的