完全二叉樹的權值
給定一棵包含 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 #include5using
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 如下圖所示 現在小明要把相同深度的節點的權值加在一起,他想知道哪個深度的節點權值之和最大?如果有多個深度的權值和同為最大,請你輸出其中最小的深度。注 根...