題目描述
給定一棵包含n 個節點的完全二叉樹,樹上每個節點都有乙個權值,按從
上到下、從左到右的順序依次是a1, a2, an,如下圖所示:
現在小明要把相同深度的節點的權值加在一起,他想知道哪個深度的節點
權值之和最大?如果有多個深度的權值和同為最大,請你輸出其中最小的深度。
注:根的深度是1。
輸入第一行包含乙個整數n。
第二行包含n 個整數a1, a2, an
對於所有評測用例,1<=n<=100000, -100000<=ai<=100000。
輸出輸出乙個整數代表答案。
樣例輸入
7
1 6 5 4 3 2 1
樣例輸出
2
思路:每一層的最後乙個為2的n次方-1,照此思路一直比較就行了,有乙個坑點就是可能最後乙個不是滿二叉樹所以要判斷下,
#include#includeusing namespace std;const int maxn=1e5+10;
int a[maxn];
long long b[maxn];
int main()
ans=0;
k++;
flag=1;
}flag=0;
}if(flag==0&&(ans>x)) //當不是完全平衡二叉樹的時候
cout<
return 0;
}
藍橋杯2019初賽 A組
修改陣列題目描述 給定乙個長度為n 的陣列a a1,a2,an 陣列中有可能有重複出現的整數。現在小明要按以下方法將其修改為沒有重複整數的陣列。小明會依次修改a2,a3,an。當修改ai 時,小明會檢查ai 是否在a1 ai 1 現過。如果出現過,則小明會給ai 加上1 如果新的ai 仍在之前出現過...
1457 藍橋杯2019初賽 完全二叉樹的權值
給定一棵包含n 個節點的完全二叉樹,樹上每個節點都有乙個權值,按從 上到下 從左到右的順序依次是a1,a2,an,如下圖所示 現在小明要把相同深度的節點的權值加在一起,他想知道哪個深度的節點 權值之和最大?如果有多個深度的權值和同為最大,請你輸出其中最小的深度。注 根的深度是1。1 完全二叉樹不一定...
1457 藍橋杯2019初賽 完全二叉樹的權值
原題鏈結 給定一棵包含n 個節點的完全二叉樹,樹上每個節點都有乙個權值,按從 上到下 從左到右的順序依次是a1,a2,an,如下圖所示 現在小明要把相同深度的節點的權值加在一起,他想知道哪個深度的節點 權值之和最大?如果有多個深度的權值和同為最大,請你輸出其中最小的深度。注 根的深度是1。716 5...