AcWing 1240. 完全二叉树的权值
原题链接
简单
作者:
天空的城
,
2023-11-10 22:01:43
,
所有人可见
,
阅读 54
#include<bits/stdc++.h>
#define x first
#define y second
using namespace std;
typedef long long ll;
typedef pair<int,int> PII;
const int N =1e5+10;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int n;cin>>n;
int ans,cur=0;//ans记录最大值的层次,ansum记录最大值
//cur当前层,cursum当前层的数,num记录当前层的值
ll num=0,cursum=(1<<cur),ansum=0;
for(int i=0;i<n;i++)
{
int res;cin>>res;
num+=res;
cursum--;
if(cursum==0)
{
if(ansum<num)
{
ans=cur;
ansum=num;
}
num=0;
cur++;
cursum=(1<<cur);
}
}
if(cursum>0)//处理最后一行cursum未到0的情况
{
if(ansum<num)
{
ans=cur;
ansum=num;
}
}
cout<<ans+1<<endl;
return 0;
}
qwq