记录编号 614905 评测结果 AAAAAAAAAA
题目名称 淘汰赛 最终得分 100
用户昵称 Gravatar张宸汉 是否通过 通过
代码语言 C++ 运行时间 0.028 s
提交时间 2026-04-18 14:41:50 内存使用 3.70 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;

int main()
{
    freopen("knockout.in","r",stdin);
    freopen("knockout.out","w",stdout);
    ios::sync_with_stdio(false);
    cin.tie(0);
    
    int n;
    cin >> n;
    int total = 1 << n;    // 等价于 2^n,整数位运算,无浮点精度误差
    int half = total / 2; // 左右半区分界线
    
    int val[130]; // 下标代表国家编号,值代表能力
    for(int i = 1; i <= total; i++)
    {
        cin >> val[i];
    }

    // 寻找左半区(1~half)能力最强的编号
    int maxL = -1, idL = 0;
    for(int i = 1; i <= half; i++)
    {
        if(val[i] > maxL)
        {
            maxL = val[i];
            idL = i;
        }
    }

    // 寻找右半区(half+1~total)能力最强的编号
    int maxR = -1, idR = 0;
    for(int i = half + 1; i <= total; i++)
    {
        if(val[i] > maxR)
        {
            maxR = val[i];
            idR = i;
        }
    }

    // 两者中能力更小的就是亚军
    if(maxL < maxR) cout << idL;
    else cout << idR;
    
    return 0;
}