对于大数据量,用cin输入一定要加 ios::sync_with_stdio(false)。血的教训,第九层及之后的数据一直没输入成功,加了ios::sync_with_stdio(false)之后就AC了。
#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
int n;
cin>>n;
int level = int(log(n)/log(2))+1;
vector<int> a(n+1);
vector<long long> sum(level);
long long maxSum=LONG_MIN;
for(int i=1;i<=n;++i){
cin>>a[i];
}
for(int i=0;i<level;++i){
for(int j=int(pow(2,i));j<=n&&j<=pow(2,i+1)-1;++j){
sum[i]+=a[j];
}
maxSum = max(maxSum,sum[i]);
}
for(int i=0;i<sum.size();++i){
if(maxSum == sum[i]){
cout<<i+1<<"\n";
break;
}
}
return 0;
}