acwing 完全二叉樹的權值(雙指標)

2022-09-23 22:06:28 字數 1274 閱讀 5441

完全二叉樹的權值

給定一棵包含 n

'>n

n 個節點的完全二叉樹,樹上每個節點都有乙個權值,按從上到下、從左到右的順序依次是 a1,

a2,·

··an

'>a1,a2,⋅⋅⋅an

a1,a2,···an,如下圖所示:

現在小明要把相同深度的節點的權值加在一起,他想知道哪個深度的節點權值之和最大?

如果有多個深度的權值和同為最大,請你輸出其中最小的深度。

注:根的深度是 1

'>1

1。輸入格式

第一行包含乙個整數 n

'>n

n。第二行包含 n

'>n

n 個整數 a1,

a2,·

··an

'>a1,a2,⋅⋅⋅an

a1,a2,···an。

輸出格式

輸出乙個整數代表答案。

資料範圍1≤

n≤105

'>1≤n≤105

1≤n≤105,−10

5≤ai

≤105'>−105≤ai≤105

−105≤ai≤105

輸入樣例:

7

1 6 5 4 3 2 1

輸出樣例:
2

**展示

首先這是雙指標類的問題,因為他的範圍是10^5,所以根據判斷應該是0(n),或者o(nlogn),這個時間複雜度,我們可以使用雙指標演算法進行解決。

1 #include2 #include3 #include4 #include5

using

namespace

std;67

const

int n=100010;8

9 typedef long

long

ll;10

11int

n;12

inta[n];

1314

intmain()

153233}

3435 cout

3637

return0;

38 }

完全二叉樹的權值

給定一棵包含n 個節點的完全二叉樹,樹上每個節點都有乙個權值,按從上到下 從左到右的順序依次是a1,a2,an 現在要把相同深度的節點的權值加在一起,想知道哪個深度的節點權值之和最大?如果有多個深度的權值和同為最大,請你輸出其中最小的深度。注 根的深度是1。輸入格式 第一行包含乙個整數n。第二行包含...

完全二叉樹的權值

給定一棵包含 n 個節點的完全二叉樹,樹上每個節點都有乙個權值,按從 上到下 從左到右的順序依次是 a1,a2,an,如下圖所示 現在小明要把相同深度的節點的權值加在一起,他想知道哪個深度的節點 權值之和最大?如果有多個深度的權值和同為最大,請你輸出其中最小的深度。注 根的深度是 1。第一行包含乙個...

七 完全二叉樹的權值

給定一棵包含n 個節點的完全二叉樹,樹上每個節點都有乙個權值,按從上到下 從左到右的順序依次是a 1 a 2 a n a a a a1 a2 an 如下圖所示 現在小明要把相同深度的節點的權值加在一起,他想知道哪個深度的節點權值之和最大?如果有多個深度的權值和同為最大,請你輸出其中最小的深度。注 根...