60求调
查看原帖
60求调
560545
A_HissingCreeper楼主2022/8/13 16:45
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;

int t[800],n;

inline int read()
{
    char c=getchar();
    long long x=0,f=1;
    while(c<'0'||c>'9'){
        if(c=='-')
            f=-1;
        c=getchar();
    }
    while(c>='0'&&c<='9'){
        x=x*10+c-'0';
        c=getchar();
    }
    return x*f;
}

int main()
{
	n=read();
	int point=1<<n;
	for(int i=point;i<=point*2-1;i++)
	    t[i]=read();
	for(int i=point-1;i>=1;i--)
	    t[i]=max(t[i*2],t[i*2+1]);
	for(int i=point;i<point*2-1;i++)
	    if(t[i]==t[2])
	    {
	    	cout<<(i+1)%point;
	    	return 0;
		}
	cout<<point;
	return 0;
}
2022/8/13 16:45
加载中...