AcWing 1240. 完全二叉树的权值
原题链接
简单
作者:
北海谷德鳗
,
2021-04-14 01:23:30
,
所有人可见
,
阅读 4
#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;
int numcount,res;
int nummax=0;
void findmax(long long *v,int num){
for(int i=0;i<=num;i++){
if(v[i]>v[nummax])
nummax = i;
}
}
int main()
{
int n;
cin>>n;
int num=log(n)/log(2);
int lognum=0;
long long a[n],v[num+1];
memset(v, 0, sizeof(v));
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
v[lognum]+=a[i];
numcount++;
if(numcount==pow(2,lognum)){
lognum++;
numcount=0;
}
}
findmax(v,num);
res=nummax+1;
cout<<res;
}