这一道题左看右看,想到了一种超级简单的解法
废话不说,来看看我的思路(题目太水了)
#include <bits/stdc++.h>
using namespace std;
int n,a[130],aa[130];
int main(){
cin>>n;
int m=1;
for(int i=1;i<=n;i++){
m*=2;
}
for(int i=1;i<=m;i++){
cin>>a[i];
aa[i]=a[i];
}
sort(a,a+m/2+1);
int v[130];
for(int i=m;i>m/2;i--){
v[i-(m/2)]=aa[i];
}
sort(v,v+m/2+1);
for(int i=1;i<=m;i++){
if(aa[i]==a[m/2]&&a[m/2]<v[m/2]){
cout<<i;
break;
}
}
if(a[m/2]>v[m/2]){
for(int i=1;i<=m;i++){
if(aa[i]==v[m/2]){
cout<<i;
break;
}
}
}
return 0;
}