解题思路:
注意事项:
参考代码:
#include<bits/stdc++.h>
using namespace std;
#define maxn 100010
//−100000≤ Ai ≤100000
typedef long long ll;
int n;
ll arr[maxn];
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%lld",&arr[i]);
}
int r=2;
ll maxsum=LONG_LONG_MIN;//权值和最大的层的权值和
int maxdep=0;//权值和最大的层
ll sum=0;
int dep=1;
for(int i=1;i<=n;i++){
if(i==r){
if(sum>maxsum){
maxsum=sum;
maxdep=dep;
}
sum=0;
dep++;
r<<=1;
}
sum+=arr[i];
}
if(sum>maxsum){
maxsum=sum;
maxdep=dep;
}
printf("%d",maxdep);
system("pause");
return 0;
}
0.0分
1 人评分
1113题解浏览:791 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:646 |
震宇大神的杀毒软件 (C语言代码)浏览:1080 |
排序算法(选择,插入,冒泡)浏览:775 |
众数问题 (C语言代码)浏览:675 |
筛排处理 (C语言代码)浏览:789 |
printf基础练习 (C语言代码)浏览:1808 |
求圆的面积 (C++代码)浮点数有误差!!!浏览:675 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:475 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:482 |