关注
#include <stdio.h>
#include <vector>
#include <iostream>
using namespace std;
int quick_power(int a, int n)
{
int ret = 1;
while(n)
{
if(n&1)
ret = ret * a;
a = a * a;
n >>= 1;
}
return ret;
}
vector<int> tree;
int find(int idx1, int idx2)
{
if(idx1 == idx2)
{
return idx1;
}
else if(idx1 > idx2)
{
return find(idx2, idx1);
}
else//idx1 < idx2
{
return find(idx1, (idx2 - 1) / 2);
}
}
int main()
{
int n;
cin >> n;
int m = quick_power(2, n) - 1;
tree.resize(m);
for(int i = 0; i < m; ++i)
{
cin >> tree[i];
}
int a, b;
int idx1 = -1, idx2 = -1;
cin >> a >> b;
int ans = -1;
if(a == -1 || b == -1)
{
ans = -1;
}
else
{
for(int i = 0; i < m; ++i)
{
if(a == tree[i])
idx1 = i;
else if(b == tree[i])
idx2 = i;
}
if(a == b)
idx2 = idx1;
if(idx1 == -1 || idx2 == -1)
{
ans = -1;
}
else
{
int idx = find(idx1, idx2);
ans = tree[idx];
}
}
/* cout << idx << endl; */
/* cout << tree[idx] << endl; */
cout << ans << endl;
return 0;
}
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 牛客新年AI问运 #
2359次浏览 48人参与
# 刚工作,应该先搞钱or搞成长? #
20726次浏览 159人参与
# 牛客AI体验站 #
15459次浏览 275人参与
# 你觉得第一学历对求职有影响吗? #
229815次浏览 1266人参与
# 找工作中的小确幸 #
80308次浏览 448人参与
# 你觉得技术面多长时间合理? #
168004次浏览 1170人参与
# 实习在多还是在精 #
82658次浏览 509人参与
# 月薪多少能在一线城市生存 #
136278次浏览 898人参与
# 牛友的春节生活 #
10845次浏览 211人参与
# 备战春招/暑实,现在应该做什么? #
7427次浏览 199人参与
# 从夯到拉,锐评职场mentor #
7209次浏览 108人参与
# 实习到现在,你最困惑的一个问题 #
6453次浏览 163人参与
# 春招什么时候投? #
12843次浏览 208人参与
# 制造业的秋招小结 #
143301次浏览 2089人参与
# 电网笔面经互助 #
59635次浏览 476人参与
# 秋招踩过的“雷”,希望你别再踩 #
185609次浏览 1683人参与
# 春节提前走,你用什么理由请假? #
13062次浏览 287人参与
# 距离春招还有一个月,你现在是什么开局? #
8992次浏览 132人参与
# 今年秋招你收到了多少封邮件? #
38227次浏览 280人参与
# 暑期实习什么时候投? #
9211次浏览 197人参与
查看3道真题和解析