试题 历届真题 完全二叉树的权值【第十届】【省赛】【A组】

简介: 试题 历届真题 完全二叉树的权值【第十届】【省赛】【A组】

资源限制


内存限制:256.0MB   C/C++时间限制:1.0s   Java时间限制:3.0s   Python时间限制:5.0s


问题描述


 给定一棵包含 N 个节点的完全二叉树,树上每个节点都有一个权值,按从

 上到下、从左到右的顺序依次是 A1, A2, · · · AN,如下图所示:


ec75bd5e6abe467b86cbfecc64f8d278.png



现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点

 权值之和最大?如果有多个深度的权值和同为最大,请你输出其中最小的深度。

 注:根的深度是 1。


输入格式


 第一行包含一个整数 N。

 第二行包含 N 个整数 A1,

 A2, · · · AN 。


输出格式


 输出一个整数代表答案。


样例输入


7

1 6 5 4 3 2 1


样例输出


2


评测用例规模与约定


 对于所有评测用例,1 ≤ N

 ≤ 100000,−100000 ≤ Ai ≤ 100000。

#include <iostream>
using namespace std;
const int N = 1000000;
static int A[N];
static int sum[N] = { 0 };
static int Tree[1000][100000] = { 0 };
int main() {
  long long n;
  int t = 0;
  long long k = 1;
  int i;
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> A[i];
  }
  for (i = 0; t < n ; i++) {
    for (int j = 0; j < k; j++) {
      Tree[i][j] = A[t++];
    }
    k *= 2;//更新层数
  }
  k = 1;
  int maxi = 0, mini = 0;
  for (int l = 0; l < i; l++) {
    for (int j = 0; j < k; j++) {
      sum[l] += Tree[l][j];
    }
    if (sum[maxi] < sum[l]) {
      maxi = l;
    }
    if (sum[mini] > sum[l]) {
      mini = l;
    }
    k *= 2;
  }
  int num = 0;
  for (int l = 0; l < i; l++) {
    if (sum[l] == sum[maxi]) {
      num++;
    }
  }
  if (num < 2) {
    cout << maxi + 1;
  }
  else cout << mini + 1;
  return 0;
}

88f436f755e3440eabe17d319a9f47b5.png









相关文章
|
网络协议 安全 网络安全
路由与交换系列之GRE VPN 技术原理笔记分享
GRE VPN 技术原理笔记分享
1667 0
|
关系型数据库 MySQL Docker
Docker - 运行 Mysql 容器后报错:[ERROR] --initialize specified but the data directory has files in it. Aborting.
Docker - 运行 Mysql 容器后报错:[ERROR] --initialize specified but the data directory has files in it. Aborting.
2483 0
Docker - 运行 Mysql 容器后报错:[ERROR] --initialize specified but the data directory has files in it. Aborting.
|
计算机视觉
RT-DETR改进策略【Neck】| TPAMI 2024 FreqFusion 频域感知特征融合模块 解决密集图像预测问题
RT-DETR改进策略【Neck】| TPAMI 2024 FreqFusion 频域感知特征融合模块 解决密集图像预测问题
665 17
RT-DETR改进策略【Neck】| TPAMI 2024 FreqFusion 频域感知特征融合模块 解决密集图像预测问题
|
机器学习/深度学习 并行计算 数据挖掘
请详细介绍GPU加速
【10月更文挑战第20天】请详细介绍GPU加速
|
安全 Unix Android开发
探索安卓与iOS的安全性差异:技术对比与未来展望
本文旨在深入探讨和比较安卓(Android)与iOS两大移动操作系统在安全性方面的不同之处。随着智能手机在日常生活中扮演着越来越重要的角色,了解这两个系统的安全特性变得尤为重要。通过分析它们的架构、安全机制、隐私保护措施以及更新策略等方面的差异,我们可以更好地理解它们各自的优势和劣势。此外,文章还将展望未来可能的发展趋势,为开发者和用户提供参考。
624 1
|
C语言
【C语言】选择语句
C语言中选择语句的相关知识点
501 1
【C语言】选择语句
|
人工智能 自然语言处理 搜索推荐
阿里通义千问的这次升级不仅带来了实实在在的利好,也为我们展示了AI技术的巨大潜力和广阔前景
【5月更文挑战第13天】阿里通义千问3月22日升级,开放1000万字长文档处理功能,成为全球处理容量最大的AI应用,超越ChatGPT等。此升级助力用户(如金融分析师、法律人士、科研人员)高效处理文档,提升工作效率,并推动AI在各行业深入应用,加速数字化转型。未来,通义千问可能发展更强大的自然语言处理能力、拓宽应用场景及提供智能个性化推荐,展现AI技术潜力与前景。
1091 2
Confluence 6 如何删除用户组图文教程
选择基本配置 选择用户组操作界面 在用户组列表中选择用户组 在界面中选择希望删除的用户组名字后面的删除按钮选项。 确定用户组删除 系统会给出提示确定用户组是否确定删除,你需要单击 Confirm 确定你对用户组的删除。
1377 0
|
存储 并行计算 网络协议
PyTorch并行与分布式(二)分布式通信包torch.distributed
PyTorch并行与分布式(二)分布式通信包torch.distributed
1714 0
|
编解码 IDE API
RFSoC应用笔记 - RF数据转换器 -08- RFSoC关键配置之RF-DAC内部解析(2.1)
RFSoC应用笔记 - RF数据转换器 -08- RFSoC关键配置之RF-DAC内部解析
1301 0
RFSoC应用笔记 - RF数据转换器 -08- RFSoC关键配置之RF-DAC内部解析(2.1)

热门文章

最新文章