错第二个点,有人能帮我看看哪里错了吗?
#include<bits/stdc++.h>
using namespace std;
int n,a[130];
int dfs(int l,int r)
{
if(l>=r) return a[l];
int mid=(l+r+1)/2;
int x=dfs(l,mid-1);
int y=dfs(mid,r);
return max(x,y);
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=pow(2,n);i++) scanf("%d",&a[i]);
int mn=min(dfs(1,(pow(2,n)+2)/2-1),dfs((pow(2,n)+2)/2-1,pow(2,n)));
for(int i=1;i<=pow(2,n);i++)
if(a[i]==mn)
{
printf("%d",i);
break;
}
return 0;
}