@[江户川コナン](/user/359430)
```cpp
#include<bits/stdc++.h>
using namespace std;
long long n;
struct team
{
long long level,nation;//实力、编号
}a[1005];
bool cmp(team x,team y)
{
return x.level>y.level;//按实力排序
}
int main()
{
cin >> n;
n=pow(2,n);//2的n次方
for(int i=1; i<=n; i++)
{
cin >> a[i].level;//输入实力
a[i].nation=i;//保存编号
}
sort(a+1,a+n/2+1,cmp);//前一半部分最大的和后一半部分最大的中间必定有一个是亚军
sort(a+n/2+1,a+1+n,cmp);
if (a[1].level>a[n/2+1].level)//如果亚军是后一半部分的最大值
cout << a[n/2+1].nation;//输出编号
else//同理
cout << a[1].nation;
return 0;
}
```
希望我的代码能帮助你o( ̄▽ ̄)d
by kdy20100729 @ 2021-09-29 15:56:46