已退役


私信TA

用户名:15893197790

访问量:13522

签 名:

努力学习,积极生活。

等  级
排  名 388
经  验 4989
参赛次数 0
文章发表 43
年  龄 0
在职情况 学生
学  校 南京大学
专  业 计算机科学与技术

  自我简介:

已退役。研究生方向为AI+软件工程,欢迎学术交流!

解题思路:

注意事项:

参考代码:

#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 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区