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)