关注
#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;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 对2025年忏悔 #
3240次浏览 91人参与
# 新年的第一句祝福 #
50773次浏览 374人参与
# 实习没人带,苟住还是跑路? #
10313次浏览 237人参与
# 运营来爆料 #
72424次浏览 454人参与
# 元旦假期你打算怎么过 #
6697次浏览 161人参与
# 腾讯音乐求职进展汇总 #
145556次浏览 1039人参与
# 春招前还要继续实习吗? #
3177次浏览 54人参与
# 面试官问过你最刁钻的问题是什么? #
7772次浏览 91人参与
# 领导秒批的请假话术 #
30345次浏览 120人参与
# 一人说一家双休的公司 #
5971次浏览 89人参与
# 大家实习都在做什么? #
7792次浏览 85人参与
# 我们是不是被“优绩主义”绑架了? #
8325次浏览 279人参与
# 阿里求职进展汇总 #
443980次浏览 3922人参与
# 电网笔面经互助 #
56871次浏览 470人参与
# 如何提高实习转正率? #
73053次浏览 463人参与
# 腾讯工作体验 #
548233次浏览 3658人参与
# 实习教会我的事 #
47640次浏览 356人参与
# 面试常问题系列 #
262159次浏览 4672人参与
# 牛客2025仙途报告 #
34876次浏览 472人参与
# 国企还是互联网,你怎么选? #
191041次浏览 1476人参与
查看4道真题和解析
