40分求助
查看原帖
40分求助
576173
FanSizhe127楼主2022/8/8 15:07
#include<bits/stdc++.h>
using namespace std;
int n,a[1005],j=0;
void dfs(int x)
{
	if(x>=(1<<n))return;
	dfs(2*x);
	dfs(2*x+1);
	a[x]=max(a[2*x],a[2*x+1]);
}
int main()
{
	cin>>n;
	for(int i=0;i<1<<n;i++)
		cin>>a[i+(1<<n)];
	dfs(1);
	j=min(a[1],a[2]);
	for(int i=0;i<1<<n;i++)
	   if(a[i+(1<<n)]==j)
	   {
	       cout<<i+1;
	       return 0;
	   }
	return 0;
}
2022/8/8 15:07
加载中...