记得用long来装喔 不然过不了大数据
然后就是边读边输入
它是一层层来的
所以第一次是2的0次方
第二层是2的1次方
。。。
第n层是2的n次方
每一层用个数组把权值都加就完事了
import java.util.*;
class Main{
public static void main(String[] args) {
Scanner in =new Scanner(System.in);
int n=in.nextInt();
int k=n;
n+=1;
for(int i=0;i<32;i) {
if(Math.pow(2, i)==n) {
n=i;
}
}
long a[]=new long [n];
for(int i=0;i<a.length;i) {
for(int j=0;j<Math.pow(2, i);j++) {
if(k==0) {
break;
}
long t=in.nextLong();
k–;
a[i]+=t;
}
}
long max=0;
int ans=0;
for(int i=0;i<a.length;i++) {
if(a[i]>max) {
max=a[i];
ans=i;
}
}
System.out.println(ans+1);
}
}