0
点赞
收藏
分享

微信扫一扫

试题 历届真题 完全二叉树的权值【第十届】【省赛】【B组】

yundejia 2022-03-11 阅读 47

资源限制

时间限制:1.0s   内存限制:256.0MB


 

提交代码

 

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f
using namespace std;
long long sum=0;
long long maxn=-inf;
long long length=0;
int main()
{
    int n;
    cin>>n;
    int g;
    int s=0;
    int d=0;
    for(int i=0;;i++)
    {
        g=pow(2.0,i);
        
        
        d++;
        s=s+g;
       
        if(s>n)
        {
            sum=0;
            s=s-g;
            int m=n-s;
            
            for(int j=1;j<=m;j++)
            {
                int b;
                cin>>b;
                sum+=b;
            }
            if(maxn<sum)
            {
                
                length=d;
                
                cout<<length;
                return 0;
            }
            else
            {
                cout<<length;
                return 0;
            }
        }
        else if(s<=n)
        {
          sum=0;
          for(int j=1;j<=g;j++)
          {
            int b;
            cin>>b;
            sum+=b;
          }
          if(maxn<sum)
          {
             maxn=sum;
             length=d;
          }
          if(s==n)
          {
             
              cout<<length;
              return 0;
          }
        }
        
    
    
    }
    return 0;
}
举报

相关推荐

0 条评论