【蓝桥杯】10B 完全二叉树的权值
题目要求
权值就是元素的值,用数组就可以解决。
#include <iostream>
using namespace std;
int main()
{
int n,i,j=1,k=1,stop=1,sum=0,smax=0,ceng=0,cengmax;
cin >> n;
int a[n+1];
for(i=1;i<=n;i++)
cin>>a[i];
for(i=1;i<=n;i++){
while(j<=stop){
if(j>n)
break;
sum=sum+a[j];
j++;
}
ceng=ceng+1;
if(sum>smax){
cengmax=ceng;
smax=sum;
}
//cout << sum << endl;
if(stop>=n){
break;
}
k=k*2;
stop=j+k-1;
sum=0;
}
cout << cengmax << endl;
return 0;
}