P4715 【深基16.例1】淘汰赛
作者:
20过19
,
2024-04-18 20:30:32
,
所有人可见
,
阅读 9
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
const int N = 200010;
int p[N];
int n;
int main(){
cin>>n;
n=pow(2,n);
for(int i = n;i <= 2*n - 1;i ++){
cin>>p[i];//cout<<i;
}
for(int i = 2*n-1;i >= 1;i --){
if(i%2){
p[i/2]=max(p[i],p[i-1]);//cout<<p[i/2]<<" "<<i/2<<" "<<endl;
}
else {
p[i/2]=max(p[i],p[i+1]);
}
}
int ans=min(p[2],p[3]);
for(int i = n;i <= 2 *n - 1;i ++){
if(ans==p[i])cout<<i-n+1;
}
return 0;
}