这天塔子哥在优化他以前做过的一个网络部署的项目,由于软件技术的提升,可以撤销部署网络中的某些节点,以简化网络并降低维护成本。但是,在撤销节点时,不能同时撤销原本直接相邻的两个节点。给定一个满二叉树结构的网络,每个节点上都标有一个数值,表示该节点的年度维护成本。现在要求撤销一些节点,使得可以节省最大的维护成本。
输入的网络以广度优先遍历的方式给出,每个节点都有一个非负整数值表示其年度维护成本。若某个节点不存在,则以0表示。每个数值的范围为 0 到 1000。
输入第一行为一个正整数N,表示后面有N个数值。其中1≤N≤10000
输入第二行为N个非负整数,表示网络节点每年的维护成本,按照满二叉树的广度优先遍历顺序给出。0 表示不存在该关联节点,0 只会存在于叶子节点上。
输出能够节省的最大维护成本。
输入
7
5 3 5 0 6 0 1
输出
12
解释:
能够节省的最大维护成本为5 +6 + 1 = 12。
输入
7
2 7 8 2 4 9 2
输出
19
解释:
能够节省的最大维护成本为 2 + 8 + 9 = 19.
扫码备注华为交流群~期待您的到来