完全二叉树(2019蓝桥杯第七题)
发布时间
阅读量:
阅读量
问题描述

当前小明需要将处于相同层级的节点权重进行累加,并希望确定哪一层级的权重总和达到最大值。若存在多个层级具有相同的最大权重总和,则应返回其中数值最小的那个层级。需要注意的是,树的根节点所处的层级为1。
【输入格式
#include <bits/stdc++.h>
#define INF 0x3f3f3f
using namespace std;
int a[100001]; //最多 100001个
long long sum1[100]; //sum[i]表示深度为i的所有节点权值和
int main()
{ long long i=1,j,p=1,ans=1,c=1,N;//c表示层数 p表示每层的最大节点容量数
cin>>N;
while(1)
{
for(j=1;i<=N&&j<=p;j++,i++)
{
cin>>a[i]; //输入权值
sum1[c]+=a[i]; //对应层数的总和加上当前权值
全部评论 (0)
还没有任何评论哟~
