#include <bits/stdc++.h>
using namespace std;
int n;
int nm;
map<int,int> mp;
int tr[400];
int main(){
cin>>n;
nm=pow(2,n);
for(int i=1;i<=pow(2,n);i++){
int x;
cin>>x;
mp[i]=x;
tr[(int)(i+pow(2,n-1))]=i;
}
int t=n;
while(t!=-1){
for(int i=pow(2,t-1);i<=pow(2,t)-1;i+=2){
if(mp[tr[i]]>mp[tr[i+1]])tr[i/2]=tr[i];
else tr[i/2]=tr[i+1];
}
t--;
}
if(mp[3]>mp[2])cout<<tr[2];
else cout<<tr[3];
return 0;
}
为啥只对了3个点?求大佬指导!