include [HTML_REMOVED]
include [HTML_REMOVED]
using namespace std;
const int N = 100010;
int n, a[N];
vector[HTML_REMOVED] s; // 使用 long long 存储和
int main() {
cin >> n;
for (int i = 1; i <= n; i++) cin >> a[i];
// 处理第一层(深度1)
s.push_back(a[1]);
long long res = s[0]; // 结果初始化为根节点的值
int current_start = 1; // 当前层的起始索引
// 逐层计算权值之和
while (true) {
current_start *= 2; // 下一层的起始位置是当前层的两倍
if (current_start > n) break;
int end = min(2 * current_start - 1, n); // 当前层的结束位置
long long sum = 0; // 使用 long long 防止溢出
for (int i = current_start; i <= end; i++) {
sum += a[i];
}
s.push_back(sum);
res = max(res, sum); // 更新最大值
}
// 查找最大和对应的最小深度
int depth = 1;
for (int i = 0; i < s.size(); i++) {
if (s[i] == res) {
depth = i + 1; // 深度从1开始
break; // 找到第一个最大值即可
}
}
cout << depth << endl;
return 0;
}