~~本人只会线段树做法~~
by Filberte @ 2021-08-28 18:35:19
~~您这样例都没过吧~~,输出的时候应该比较能力值的大小,而不是比较下标的大小(建议写结构体)
by _outcast_ @ 2021-08-28 20:36:29
@[月野秋见](/user/490997) 突然发现根本没有必要在输出的时候再进行二分,直接输出较小的那一半的最大值的下标就行了
```cpp
#include<bits/stdc++.h>
using namespace std;
int n,a[129],ans;
int champion(int x,int y){
int max=-1,maxrem;
for(int i=x;i<=y;i++)if(a[i]>max){
max=a[i];
maxrem=i;
}
return maxrem;
}
int main(){
cin>>n;
int t=n,n=1;
for(int i=1;i<=t;i++) n*=2;
for(int i=1;i<=n;i++) cin>>a[i];
if(champion(1,n)>n/2) cout<<champion(1,n/2);
else cout<<champion(n/2+1,n);
return 0;
}
```
by _outcast_ @ 2021-08-28 20:55:47
@[xpeke](/user/376125) 谢谢爹哈qwq
by 月野秋见 @ 2021-08-29 16:29:10