完全二叉树的权值
完全二叉树的权值
思路
设立一个指针,一次走一层
计算每层元素个数(1<<f)
ll n,a[N],p,flr,cnt,sum,maxi=LLONG_MIN,idx=-1;
ll nodenum(ll f)
{
return (1<<f);
}
int main()
{
cin>>n;
for(ll i=1;i<=n;++i){
cin>>a[i];
}
p=1;
flr=1;
while(p<=n){
sum=0;
cnt=nodenum(flr-1);
for(ll i=1;i<=cnt&&p<=n;++i,++p){
sum+=a[p];
}
if(sum>maxi){
maxi=sum;
idx=flr;
}
flr++;
}
cout<<idx;
return 0;
}

浙公网安备 33010602011771号