80求救
查看原帖
80求救
370863
Avinun_楼主2021/9/4 16:30
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int a[1024], pnum, n;
int nm[1024];
int slove(int num)
{
	for(int i=1; i<=n; i++)
		if(a[i]==num)
			return i;
}
int tototo(int len)
{
	for(int i=1; i<=len; i++)
		nm[i]=a[i];
	while(len>=2)
	{
		int t=0;
		for(int i=2; i<=len; i+=2)
		{
			t++;
			nm[t]=max(nm[i], nm[i-1]);
		}
		len/=2;
		if(len==2)
		{
			if(nm[1]>=nm[2]) 
				return slove(nm[2]);
			else 
				return slove(nm[1]);
		}
	}
}
int main()
{
	cin >> pnum;
	n = pow(2, pnum);
	for(int i=1; i<=n; i++)
		cin >> a[i];
	int ans = tototo(n);
	cout << ans;
	return 0;
}
2021/9/4 16:30
加载中...