いむらや競プロ雑記

キーワード:競プロ、育児、石川県

ABC188 C - ABC Tournament

https://atcoder.jp/contests/abc188/tasks/abc188_catcoder.jp pythonです。 ゴリゴリとトーナメントをシミュレーションしたうえに、バグらせまくって30分以上溶かしたが、、、

解説を見て、「全体を二分したそれぞれのブロックにて、トップ同士を対決させればよい」というのを書いてみる。実は今まで、最大値とそのインデックスをそれぞれ管理していたが、最大値を求めてからインデックスを逆引きすればいいと、今更知る。。。

値がユニーク、または一例を返せばいいような場合は、list.index覚えときましょう(初心者)

def resolve():
    N=int(input())
    A=list(map(int,input().split()))

    top1=max(A[:2**(N-1)])
    top2=max(A[2**(N-1):])

    if(top1>top2):
        print(A.index(top2)+1)
    else:
        print(A.index(top1)+1)