80分蒟蒻求助!
查看原帖
80分蒟蒻求助!
989021
chenboyang0521楼主2024/7/24 11:16

错第二个点,有人能帮我看看哪里错了吗?

#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;
}
2024/7/24 11:16
加载中...