#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
int n;
int a[100005];
int b[50005]; //记录每一层的权值
int ans = 0;
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
}
int k = 0;
int j = 0;
for (int i = 1; i <= n/2; i++)
{
for (j=pow(2,k); j <= pow(2, k)+pow(2,k)-1; j++)
{
b[i] = b[i] + a[j];
}
k++;
}
int max = 0;
int flag = 0;
for (int i = 1; i <= n / 2; i++)
{
if (b[i] > max)
{
max = b[i];
flag = i;
}
//cout << "i:" << b[i] << " ";
}
cout << flag;
return 0;
}
第十届蓝桥杯 A组 完全二叉树的权值
最新推荐文章于 2024-12-20 21:31:05 发布