一道很简单的模拟题但还是有要注意的地方没层要读入的数据量是2的倍数但是最后一层会有不满的使用里面那层循环要写i和j两种判断而且每次加完一层就要比一次所以还要一ii循环但是又不让它增加因为i是读入数据才增加
#include<bits/stdc++.h>
using namespace std;
long long f[100000];
int main(){
int n;
cin>>n;
int h=1;
long long m=0;
int t;
for(int i=1;i<=n;){
for(int j=1;j<=pow(2,h-1)&&i<=n;j++){
scanf("%d",&t);
i++;
f[h]+=t;
}
m=max(m,f[h]);
h++;}
// cout<<f[2];
for(int i=1;i<=h;i++){
//cout<<f[i];
if(f[i]==m){
cout<<i<<endl;
break;}
}
return 0;
}