求条
  • 板块灌水区
  • 楼主CharlesWY
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/10/24 14:49
  • 上次更新2024/10/24 15:31:23
查看原帖
求条
1117384
CharlesWY楼主2024/10/24 14:49

AT_abc188_c

#include <iostream>
#include <cstring>
#include <cmath>
#define int long long
using namespace std;
int n,a[1024*1024],p,l[1024*1024];
signed main(){
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0); 
	cin>>n;
	p=pow(2,n);
	for(int i=1;i<=p;++i){
		cin>>a[i];
		l[i]=a[i];
	}
	while(p!=2){
		int k[p+10],ip=0;
		for(int i=1;i<=p;i+=2){
			k[++ip]=max(a[i],a[i+1]);
		}//比较出胜者
		memset(a,0,sizeof(a));
		p/=2;
		for(int i=1;i<=p;++i){
			a[i]=k[i];//更新下一轮选手
		}
	}
	int ans=min(a[1],a[2]);
	p=pow(2,n);
	for(int i=1;i<=n;++i){
		if(l[i]==ans){
			cout<<i<<" ";
			break;//查找下标
		}
	}
	return 0;
}
2024/10/24 14:49
加载中...