60分 玄关
查看原帖
60分 玄关
1295765
na_nian_na_tu楼主2024/11/30 17:37
#include <bits/stdc++.h>
using namespace std;
int arr[17][228];
int main()
{
	int n,a,b;
	cin>>n;
	b=a=pow(2,n);
	for(int i=1;i<=a;i++){
		scanf("%i",&arr[n][i]);
	}
	
	//cout<<"\n";
	for(int i=n;i>0;i--){
		for(int j=1;j<=a;j+=2){
			//printf("%i ",arr[i][j]);
			arr[i-1][j/2+1]=max(arr[i][j],arr[i][j+1]);
		}
		a/=2;
	}
	
	if(arr[1][1]!=arr[0][0]){
		for(int i=0;i<=b;i++){
			if(arr[1][1]==arr[n][i]){
				cout<<i;
				break;
			}
		}
	}else{
		for(int i=0;i<=b;i++){
			if(arr[1][0]==arr[n][i]){
				cout<<i;
				break;
			}
		}
	}
}
2024/11/30 17:37
加载中...