试题 历届真题 完全二叉树的权值【第十届】【省赛】【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









相关文章
|
11月前
2022第十三届届蓝桥杯c++B组题解
2022第十三届届蓝桥杯c++B组题解
69 1
|
12月前
|
算法 测试技术
蓝桥杯2022年第十三届决赛真题-卡牌——二分法
蓝桥杯2022年第十三届决赛真题-卡牌——二分法
89 0
|
12月前
题目 2664: 蓝桥杯2022年第十三届省赛真题-求和
题目 2664: 蓝桥杯2022年第十三届省赛真题-求和
|
存储 机器学习/深度学习 人工智能
【蓝桥杯集训·周赛】AcWing 第 95 场周赛
文章目录 第一题 AcWing 4873. 简单计算 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第二题 AcWing 4874. 约数 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第三题 AcWing 4875. 整数游戏 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
80 0
|
存储 人工智能 算法
【蓝桥杯集训·最后一次周赛】AcWing 第 97 场周赛
文章目录 第一题 AcWing 4944. 热身计算 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第二题 AcWing 4945. 比大小 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第三题 AcWing 4946. 叶子节点 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
105 0
|
存储 机器学习/深度学习 人工智能
【蓝桥杯集训·周赛】AcWing 第94场周赛
文章目录 第一题 AcWing 4870. 装物品 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第二题 AcWing 4871. 最早时刻 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第三题 AcWing 4872. 最短路之和 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
48 0
|
JavaScript BI
【蓝桥杯集训·周赛】AcWing 第96场周赛
文章目录 第一题 AcWing 4876. 完美数 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第二题 AcWing 4877. 最大价值 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第三题 AcWing 4878. 维护数组 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
66 0
|
存储 人工智能 BI
【蓝桥杯集训·周赛】AcWing 第91场周赛
文章目录 第一题 AcWing 4861. 构造数列 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第二题 AcWing 4862. 浇花 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第三题 AcWing 4861. 构造数列 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
59 0
|
存储
【蓝桥杯集训·周赛】AcWing 第92场周赛
文章目录 第一题 AcWing 4864. 多边形 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第二题 AcWing 4865. 有效类型 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第三题 AcWing 4866. 最大数量 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
91 0
|
存储 人工智能
【蓝桥杯集训·周赛】AcWing 第93场周赛
文章目录 第一题 AcWing 4867. 整除数 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第二题 AcWing 4868. 数字替换 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 第三题 AcWing 4869. 异或值 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
73 0

热门文章

最新文章