求助一下大佬,不知道为啥只过了90,找了半天
查看原帖
求助一下大佬,不知道为啥只过了90,找了半天
1008726
Dabaixiang楼主2024/3/14 11:25
//通过90
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e5+10;
int a[N];
int s[N];
signed main(){
  int n;      //1    3 6    10
  cin>>n;     //1 || 2 3 || 4 5 6 7 || 8 9
  for(int i=1;i<=n;i++) {
    cin>>a[i];
    s[i] = s[i-1] + a[i];
  }
  int max=0,d=1,max_d=1,q=0;
  for(int i=1;i<=n;){
     int num = pow(2,q);
     int sum = s[i+num-1] - s[i-1];
      if(sum > max) max = sum,max_d = q;
     q++;
     i=i+num;
  } 
  cout<<max_d+1;
  return 0;
}
2024/3/14 11:25
加载中...