蓝桥杯每日一题2023.10.19

题目描述

完全二叉树的权值 - 蓝桥云课 (lanqiao.cn)

蓝桥杯每日一题2023.10.19_第1张图片

题目分析 

我们以每一个节点的坐标来将这一深度的权值之和相加从而算出权值和

要清楚每一个深度的其实节点和末尾节点,使用双指针将这个深度节点的权值和计算出来,记录所

需要的深度即可

蓝桥杯每日一题2023.10.19_第2张图片

#include
using namespace std;
typedef long long ll;
const int N = 2e5 + 10;
int maxx = -2e5 + 10;
int a[N];
int main()
{
	int n;
	cin >> n;
	for(int i = 1; i <= n; i ++)cin >> a[i];
	int depth = 0;
	for(int i = 1, d = 1; i <= n; i *= 2, d ++)
	{
		ll sum = 0;
		for(int j = i; j <= 2 * i - 1; j ++)
		{
			sum += a[j];		
		}	
		if(sum > maxx)
		{
			maxx = sum;
			depth = d;
		}
	}
	cout << depth << '\n';
	return 0;
}

你可能感兴趣的:(蓝桥杯,职场和发展)