社区讨论

60求调

P4715【深基16.例1】淘汰赛参与者 2已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@lo8atze3
此快照首次捕获于
2023/10/27 15:35
2 年前
此快照最后确认于
2023/10/27 15:35
2 年前
查看原帖
CPP
#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;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...